「sshエージェントフォワード」の版間の差分
提供: セキュリティ
(ページの作成:「<!-- vim: filetype=mediawiki --> [[{{PAGENAME}}]] (ssh agent forward)とは、ssh コマンドでホストを渡り歩いていくときに、アクセス元の[[ss...」) |
(→関連項目) |
||
(同じ利用者による、間の1版が非表示) | |||
行42: | 行42: | ||
== 設定 == | == 設定 == | ||
− | /etc/sshd/ssh_config もしは、 ~/.ssh/config で設定します。 | + | /etc/sshd/ssh_config ([[ssh_config]])もしは、 ~/.ssh/config で設定します。 |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
ForwardAgent yes | ForwardAgent yes | ||
行60: | 行60: | ||
== 関連項目 == | == 関連項目 == | ||
− | + | {{ssh}} | |
− | * [[ | + | * [[gpg-agent]] |
2014年2月11日 (火) 16:31時点における最新版
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)もしは、 ~/.ssh/config で設定します。
ForwardAgent yes
ForwardAgent を設定しなくても、 ssh -A を使うことでsshエージェントフォワード することができます。
使い方
# ForwardAgent yes ssh h1 # ForwardAgent no の場合 ssh -A h1
関連項目
- Secure Shell(セキュアシェル)
- OpenSSHのコマンド
- sshのプライベート鍵
- sshエージェントフォワード
- ssh秘密鍵をクラッキングする方法
- パスフレーズのないsshの秘密鍵の作成
- ssh関連
- gpg-agent