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/

posted on 2021-11-24 17:39  诸子流  阅读(202)  评论(0编辑  收藏  举报