SSH鍵交換を使用して2つのサーバを接続しました。パスワードなしでリモートサーバーにログインできるようになりました。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
ケース-I
しかし、SSH鍵は、その後の作業と、それは決してタイムアウトとパスワードプロンプト上に残っていないとき。したがって、リターンコードを取得することはできません。
ssh -o ServerAliveInterval=10 -o ConnectTimeout=15 [email protected] exit
Enter Windows password:
場合-II
私は、このapproch作品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、同じ結果です。コマンドは終了しません。 –