我需要创建一个自动向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可防止密码可见.
>存储密码的文件应具有安全权限.