linux – 使用脚本自动输入SSH密码

我需要创建一个自动向OpenSSH ssh客户端输入密码的脚本.

假设我需要使用密码a1234b通过SSH连接到myname @ somehost.

我已经尝试过……

#~/bin/myssh.sh
ssh myname@somehost
a1234b

……但这不起作用.

如何将此功能添加到脚本中?

解决方法:

首先,您需要安装sshpass.

> Ubuntu / Debian:apt-get install sshpass
> Fedora / CentOS:yum install sshpass
> Arch:pacman -S sshpass

例:

sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no YOUR_USERNAME@SOME_SITE.COM

自定义端口示例:

sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no YOUR_USERNAME@SOME_SITE.COM:2400

笔记:

> sshpass还可以在传递-f标志时从文件中读取密码.

>如果执行ps命令,则使用-f可防止密码可见.
>存储密码的文件应具有安全权限.

上一篇:openssh升级到7.9p1后虽然sshd_config允许root用密码登录还是失败的问题


下一篇:c# – SSH.NET – 消息类型80无效