33-Linux命令【sshpass】

一、介绍

ssh登录需要与用户进行交互,需要用户输入密码
sshpass 允许使用-p参数指定明文密码
 
1、sshpass安装:
先安装epel
  yum install -y epel-release
  yum repolist
安装完成epel之后,就可以按照sshpass了
  yum install -y sshpass
验证:
  sshpass -V

2、使用介绍:

使用方法:
sshpass -p "yourpassword" ssh yourusername@ip 等价于 ssh root@ip 再输入密码
 
当远程主机端口不再是22默认端口时候:
sshpass -p "password" ssh -p 8443 username@ip

 

 

二、sshpass 用法

1.指定密码
 
sshpass -p password ssh -p port user@ip   登录
sshpass -p password ssh -p port user@ip  " cmd "  执行命令
sshpass -p password scp user@ip:remote_file local  scp远程拉取文件

 

2.从文件中读取密码
echo ‘password‘ >mypasswd
sshpass -f mypasswd ssh user@ip

 

Notes:
  使用ssh第一次登录某台服务器时,会有提示“Are you sure you want to continue connecting (yes/no)”,这时用sshpass会不好使
解决办法:可以在ssh命令后面加上 -o StrictHostKeyChecking=no来解决
  sshpass -p password ssh -o StrictHostKeyChecking=no user@ip
除此之外还可以修改ssh的配置文件,在所有机器上修改/etc/ssh/ssh_config (mac中为/etc/ssh_config)文件中设置StrictHostKeyChecking no即可(默认为 #StrictHostKeyChecking ask )
 
3.从环境变量中获取ssh密码
export SSHPASS= "password "
sshpass -e ssh user@ip

 

posted @ 2021-03-09 14:40  为你编程  阅读(428)  评论(0)    收藏  举报