sshpass命令来自英文词组“SSH password”的缩写,其功能是用于非交互式验证SSH密码。SSH是Linux系统平台中最常用的远程控制协议之一,使用ssh命令进行远程连接时需要交换式验证密码信息,不利于在Shell脚本中调用。而sshpass命令则很好地解决了这个脚本调用问题,用户可以直接将密码以参数的形式传递给命令,而无需交互式验证。

语法格式:sshpass [参数] 域名或IP地址

常用参数:

-f 设置密码文件
-p 设置密码值

参考示例

基于SSH协议远程连接到指定的服务器:

[root@linuxcool ~]# sshpass -p "password" ssh root@192.168.10.10

指定端口号,基于SSH协议远程连接到指定的服务器:

[root@linuxcool ~]# sshpass -p "password" ssh -p 8518 root@192.168.10.10

基于SSH协议远程连接到指定的服务器,并执行命令:

[root@linuxcool ~]# sshpass -p "password" ssh root@192.168.10.10 "poweroff"

读取本地密码文件,基于SSH协议远程连接到指定的服务器:

[root@linuxcool ~]# sshpass -f "passwd.txt" ssh root@192.168.10.10
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。