2010-12-18 180 views
0

有誰知道爲什麼這個命令,SSH遠程命令掛起

ssh -v [email protected] "exec ssh-agent bash" 

...將在此輸入掛?

debug1: Sending command: exec ssh-agent bash 

我試圖自動設置一組遠程機器,以便它們可以在沒有密碼的情況下相互進行SSH連接。已經掃描了相關的私鑰文件。需要在每個實例上運行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: [email protected] 
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: [email protected]/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 

任何幫助理解。

回答

2

你看到的是預期的行爲。 SSH正在等待bash完成執行。如果你省略了「bash」作爲ssh-agent的參數,那麼ssh-agent會像你期望的那樣進入後臺。

所以,也許你的意思運行:

ssh -v [email protected] "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