从 shell 脚本绕过 ssh 密码提示

smo*_*uns 5 osx ssh

我有一个 shell 脚本,它使用公钥身份验证进入服务器并在该机器上运行命令。这在用户在服务器上安装了公钥的机器上工作正常。如果此脚本是从用户尚未设置身份验证密钥的机器上运行的,则该脚本将卡在密码提示处。我希望我的脚本继续运行而不是卡在提示中。如何绕过提示?我在 Mac OSX 上。服务器也在运行 OSX

小智 13

一种方法是将其指定-o PasswordAuthentication=No为 SSH 命令的一部分:

ssh -o PasswordAuthentication=no user@server

这将从 SSH 客户端必须与服务器通信的身份验证选项列表中删除 PasswordAuthentication,防止您坚持密码提示。请注意,这也允许除 PubkeyAuthentication 之外的其他身份验证机制(RHostsRSAAuthentication 等)工作。如果您只想使用 PubkeyAuthentication...

ssh -o PreferredAuthentications=publickey user@server