Ssh
使用“並行”在遠端主機上執行命令 - 不返回任何內容,登錄失敗
我正在嘗試執行簡單的“並行”命令
parallel -S server1,server2,server3 echo "Number {}: Running on \`hostname\`" ::: 1 2 3
它要求我輸入三台伺服器的密碼,但沒有任何反應。這些伺服器的正常 ssh 工作正常。
一旦我登錄到其中一台伺服器,系統就會警告我登錄“notty”失敗。
我怎樣才能實現正確的執行?
“它要求我輸入三台伺服器的密碼”
查看 GNU Parallel的文件:
“sshlogin 必須不需要密碼”
由於您使用的是
-S
(–sshlogin) 標誌,因此這是一個問題。所以你會被要求輸入密碼,這意味著 GNU Parallel 將無法執行。
您需要設置 ssh 密鑰以確保您可以進行無密碼連接。
您可以按照此連結中的步驟設置密鑰。
您確實在文章中說正常的 ssh 可以正常工作。所以你可能設置了 ssh 來詢問密碼。
authorized_keys
如果是這種情況,您可以使用現有的密鑰並將它們添加到文件中。