平常使用 ssh、scp、rsync 需要交互式输入密码的命令时。当我们不想执⾏这⼀步操作的时候,可以在使用以上命令的同时带上密码,无需⼿动输⼊。
安装 nopass 软件包
yum install -y sshpass
只需要在 ssh、scp、rsync 命令的前⾯带上 sshpass 就可以了
sshpass -p 'redhat' ssh root@192.168.1.1 -o StrictHostKeyChecking=no systemctl restart nginx
sshpass -p "redhat" scp -o StrictHostKeyChecking=no docker-compose.yml root@web.ljxwtl.cn:/data/soft
sshpass -p 'redhat' rsync -av docker-compose.yml root@gitlab.ljxwtl.cn:/data/soft
使用 ssh 连接远程主机时加上“-o StrictHostKeyChecking=no”的选项:
做法是使用 -o 这个参数,在 ssh/scp 里加上 -o "StrictHostKeyChecking no" 即可跳过这个 yes/no 询问。
注意:
在使用 rsync 命令时,会报如下错误:
执行 rsync 时报:Host Key verification failed
解决方法:
1、在 .ssh目录下添加 config 文件,键入
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
2、删除 .ssh/know_hosts 中对应 ip 的相关 rsa 信息
微信扫描下方的二维码阅读本文
正文完