我使用SSH密鑰交換連接了兩臺服務器。現在我可以無需密碼登錄到遠程服務器。使用SSH密鑰驗證SSH連接
現在,我想驗證連接是否真的無密碼工作。我該怎麼做?
我嘗試了以下方法,其中SSH應在10秒後超時,我將捕獲它的返回碼。但它從來沒有。一旦超時。它仍然在密碼提示符上。
ssh -o ServerAliveInterval=10 -o ConnectTimeout=15 [email protected] exit
if [ "$?" -ne 0 ];then
echo "SSH keys no more working,you need to initiate keys exchange again!!"
exit 1;
fi
案例我
然而,當SSH密鑰不能再工作,它從來沒有超時和留在密碼提示。所以無法捕獲返回碼。
ssh -o ServerAliveInterval=10 -o ConnectTimeout=15 [email protected] exit
Enter Windows password:
情況下-II
當我提供未再ping到這個計算策略的作品IP地址。
ssh -o ServerAliveInterval=10 -o ConnectTimeout=15 [email protected] exit
ssh: connect to host ip1.ip1.ip1.ip1 port 22: Connection timed out
需要幫助確定SSH連接是否無密碼工作與否。
我建議你做'ssh -v'。這將給你一些關於什麼類型的身份驗證使用ssh的調試跟蹤(特別是如果您的主機上的公鑰存在)。 – oliv
@Cyrus,相同的結果..命令不會退出。 –