bash脚本中使用密码登录机器
一、问题
ssh命令没有密码参数,需要交互式输入; 但出于管理等需求我们可能会需要在shell脚本中登录其他机器,交互式输入密码就没法满足这种需求了。
二、实现
2.1 安装sshpass
yum install -y sshpass
2.2 基本的实现
sshpass -p 'password' ssh user_name@server_ip
三、问题
3.1 指定端口
sshpass没有用于指定端口参数,如果服务端端口不是默认的22,我们想指定端口那该如何实现呢。
其实sshpass把除其参数后的所有内容视作原始的ssh命令,所以直接用原来ssh的-p参数指定端口即可。如:
sshpass -p 'password' ssh user_name@server_ip -p port
参考:
https://srvfail.com/how-to-provide-ssh-password-inside-a-script-or-oneliner/