0

このコマンドの理由を知っている人はいますか?

ssh -v user@address "exec ssh-agent bash"

...この出力でハングしますか?

debug1: Sending command: exec ssh-agent bash

パスワードなしで相互に SSH 接続できるように、一連のリモート マシンを自動的にセットアップしようとしています。関連する秘密鍵ファイルに対して既に scp を実行している。各インスタンスで ssh-add を実行する必要があります。ただし、最初に ssh-agent を開始する必要があります。しかし、上記のコマンドはハングします。各インスタンスでエージェントを手動で開始することは、実際にはオプションではありません。


リモート マシンで「ps ux」を手動で実行すると、ssh-agent が実行されていることが確認されます。

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
ubuntu     746  0.0  0.2   8844  1380 ?        S    02:45   0:00 sshd: ubuntu@notty
ubuntu     747  0.0  0.1   4532  1096 ?        Ss   02:45   0:00 bash
ubuntu     748  0.0  0.0   3360   204 ?        Ss   02:45   0:00 ssh-agent bash
ubuntu     779  0.0  0.2   8844  1376 ?        S    02:51   0:00 sshd: ubuntu@pts/0
ubuntu     781  5.3  0.8   8260  5244 pts/0    Ss   02:51   0:00 -bash
ubuntu     813  0.0  0.1   4284  1076 pts/0    R+   02:52   0:00 ps ux

どんな助けでも大歓迎です。

4

1 に答える 1

2

表示されるのは、予想される動作です。SSHはbashが実行を終了するのを待っています。ssh-agentの引数として「bash」を省略すると、ssh-agentは期待どおりにバックグラウンドで実行されます。

だから、おそらくあなたは実行するつもりでした:

ssh -v user@address "ssh-agent"

pstreeの出力を見ると、何が起こっているのかがより明確にわかります。

 |-+= 09556 root /usr/libexec/launchproxy /usr/sbin/sshd -i
 | \-+= 09557 root /usr/sbin/sshd -i
 |   \-+- 09560 root /usr/sbin/sshd -i
 |     \-+= 09561 root bash
 |       \--= 09562 root ssh-agent bash
于 2010-12-18T03:11:47.907 に答える