首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SSH -键验证SSH连接

使用SSH -键验证SSH连接
EN

Stack Overflow用户
提问于 2016-06-24 05:28:09
回答 1查看 174关注 0票数 1

我使用SSH密钥交换连接了两个服务器。现在,我可以登录到远程服务器,没有密码。

现在,我想验证连接是否真的在没有密码的情况下工作-- .How,我能这样做吗?

我尝试了以下方法,SSH应该在10秒后超时,我将捕获它的返回代码。但从来没有。一旦超时。它仍然保留在密码提示上。

代码语言:javascript
复制
ssh -o ServerAliveInterval=10 -o ConnectTimeout=15 user@ip.ip.ip.ip exit

if [ "$?" -ne 0 ];then
  echo "SSH keys no more working,you need to initiate keys exchange again!!"
  exit 1;
fi

案件-我

但是,当SSH密钥不起作用时,它永远不会超时,并且保持密码提示.所以不能捕获返回代码。

代码语言:javascript
复制
ssh -o ServerAliveInterval=10 -o ConnectTimeout=15 user@ip.ip.ip.ip exit
Enter Windows password:

案例二

当我提供的IP地址是不可点击的,那么这个方法是可行的。

代码语言:javascript
复制
ssh -o ServerAliveInterval=10 -o ConnectTimeout=15 user@ip1.ip1.ip1.ip1 exit   
ssh: connect to host ip1.ip1.ip1.ip1 port 22: Connection timed out

在确定SSH连接是否没有密码时需要帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-24 05:57:48

可以使用PasswordAuthentication=no禁用密码身份验证。当公开密钥身份验证失败时,它将立即失败。

代码语言:javascript
复制
ssh -o BatchMode=yes -o ConnectTimeout=15 user@ip.ip.ip.ip exit

编辑:当然,使用BatchMode应该有效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38006170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档