「sshエージェントフォワード」の版間の差分
提供: セキュリティ
(ページの作成:「<!-- vim: filetype=mediawiki --> [[{{PAGENAME}}]] (ssh agent forward)とは、ssh コマンドでホストを渡り歩いていくときに、アクセス元の[[ss...」) |
(相違点なし)
|
2013年5月30日 (木) 01:11時点における版
sshエージェントフォワード (ssh agent forward)とは、ssh コマンドでホストを渡り歩いていくときに、アクセス元のssh-agentを利用して認証を行います。
読み方
- sshエージェントフォワード
- えすえすえいち えーじぇんとふぉわーど
概要
sshエージェントフォワード (ssh agent forward)とは、ssh コマンドでホストを渡り歩いていくときに、アクセス元のssh-agentを利用して認証を行います。
ssh-agent を利用することで、公開鍵認証 でsshの認証を自動化できます。
c1(ssh-agent) -> h1
- c1 の ForwardAgent が yes のときに、h1 から h2 へログインするとき、 h2 への認証は、c1 の ssh-agent が利用されます。
c1(ssh-agent) -> h1 -> h2
- c1 と h1 の ssh の設定が ForwardAgent が yes のときに、 h2 から h3 へのログインも c1 の ssh-agent で認証されます。
c1(ssh-agent) -> h1 -> h2 -> h3
途中にパスワード認証のサーバが入っても、sshエージェントフォワード は実行できます。
- s1 がパスワード認証だけを行なっているとします。
- c1, s1, h1, h2 の ForwardAgent が yes の設定とします。
c1(ssh-agent) -> s1 -> h1 -> h2 -> h3
sshエージェントフォワードのセキュリティ問題
sshエージェントフォワード は、セキュリティの問題を抱えています。
ssh-agent は、ssh のために UNIXドメインソケット を作成します。 環境変数 SSH_AUTH_SOCK と呼ばれています。
SSH_AUTH_SOCK は、本来、ssh-agent の実行ユーザしか参照できませんが、root ユーザーは、アクセスできてしまいます。 そのため、SSH_AUTH_SOCK があるサーバに root 権限を持ったユーザが自分以外にいる場合は、 SSH_AUTH_SOCK を利用され、なりすまされる可能性があります。
設定
/etc/sshd/ssh_config もしは、 ~/.ssh/config で設定します。
ForwardAgent yes
ForwardAgent を設定しなくても、 ssh -A を使うことでsshエージェントフォワード することができます。
使い方
# ForwardAgent yes ssh h1 # ForwardAgent no の場合 ssh -A h1