在服务器要求我输入密码之前我能否知道密钥已被复制到服务器?

在服务器要求我输入密码之前我能否知道密钥已被复制到服务器?

要不使用密码登录,我使用ssh-copy-id I ~/.ssh/key_name root@server_ip

如果我不复制我的公钥,那么每次使用时ssh root@server_ip都会被要求输入密码。

现在我想创建一个自动化脚本来检查我们同事的 Ubuntu 实例的安装情况。

我想知道他们是否正确配置了 Ubuntu。

我应该检查的一件事是看他们是否已将他们的公钥复制到我们的服务器,以便他们无需密码即可连接。

我怎么才能知道呢?有什么方法可以让我了解吗?

答案1

你试一试 ...

if ssh -o IdentitiesOnly=yes -o BatchMode=yes -i ~/.ssh/key_name -q user@host exit; then
    echo "Connection succesful"
else
    echo "Connection not succesful"
fi
  • -o IdentitiesOnly=yes意味着只检查给定的密钥
  • -o BatchMode=yes告诉ssh不要回到密码提示。
  • -qmakessh不输出任何东西。
  • exit将立即退出连接

相关内容