Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
48
Help us understand the problem. What is going on with this article?

More than 1 year has passed since last update.

@hirotaka-tajiri

ssh agent forwardingを行うサーバー側の要点の備忘録

ssh-agent forwardingするのにハマったので備忘録として残す。

ssh agent forwardingとは

ssh agentで登録させた情報を、接続後のssh接続に引き継ぐやり方である
よく、ssh秘密鍵をサーバーにコピーしないで、ssh秘密鍵認証する際に使われる

ssha1.jpg

上図を例にとると、

  • サーバーA上にのみあるssh秘密鍵をサーバーAのssh agentに登録
  • サーバーBにssh公開鍵認証で接続
  • そのままサーバーBからサーバーCに接続する際に
  • ssh秘密鍵をサーバーAのssh agentから引き継ぎ、ssh公開鍵認証する

そういう状態のことである

設定方法

クライアント側

putty なら agent forwardingを許可する設定をON
LinuxやMacOSなどなら eval `ssh-agent` と ssh-add などする

サーバー側

まず、sshdデーモン側でAgentForwardingを許可する必要がある

sshd_config

AllowAgentForwarding yes

このsshd_configのowner/groupとパーミッションは
root root -rw------- とする

つぎに、sshコマンドする際にAgentForwardingをする

  • 接続毎にコマンドライン許可する場合には -A オプション
  • ユーザー毎にデフォルトで許可する場合には ~/.ssh/config に ForwardAgent yes 設定
  • システム全体でデフォルトで許可する場合には /etc/ssh/ssh_config に ForwardAgent yes 設定 する必要があるを記載する

接続毎許可

ssh -A (接続先ユーザー)@(接続先サーバー)

ユーザー毎許可

~/.ssh/config
ForwardAgent yes

この~/.ssh/configのowner/groupとパーミッションは
(実行ユーザー) (実行グループ) -rw------- とする

システム全体許可

/etc/ssh/ssh_config
ForwardAgent yes

この/etc/ssh/ssh_configのowner/groupとパーミッションは
root root -rw-r--r-- とする
(実行ユーザーが参照できるパーミッションが必要)

ちなみに、これらの設定の参照順位については、下記となっている

  • 1番目に コマンドラインオプションを参照し
  • 2番目に ユーザー設定ファイル(~/.ssh/config)を参照し
  • 3番目に システム設定ファイル(/etc/ssh/ssh_config)を参照する

おまけ

踏み台以降のサーバーにssh秘密鍵をコピーしない(させない)のに、ユーザーとユーザー毎に公開鍵をauthorized_keysを設置するのは面倒なので、サーバー側の公開鍵管理はLDAPサーバーで集中管理でやるのがお薦め、既存のユーザーでも公開鍵のみLDAPサーバーで管理できる

48
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
48
Help us understand the problem. What is going on with this article?