本文作者:念宗

ssh避免公钥检查输入yes

念宗 6年前 ( 2019-01-21 ) 5619 抢沙发
摘要: centos7以前的版本可以对服务器端sshd_config进行配置,将 StrictHostKeyChecking no 加入即可生效。但是centos7以后的ssh版...
centos7以前的版本可以对服务器端sshd_config进行配置,将 StrictHostKeyChecking no 加入即可生效。但是centos7以后的ssh版本不再支持
1.  使用参数
ssh IP -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no
StrictHostKeyChecking :不检查公钥,但是会加入known_hosts
UserKnownHostsFile=/dev/null表示不写入.ssh/known_hosts
2. 使用配置一劳永逸
上面带参数的方法比较麻烦,因为你无法记住那么长的单词,输入也麻烦,下面介绍使用配置的方法:
mkdir -p ~/.ssh 
echo "Host *" > ~/.ssh/config 
echo " StrictHostKeyChecking no" >> ~/.ssh/config


3. 使用alias
/etc/bashrc或者.bashrc添加如下:
alias ssh='ssh -o StrictHostKeyChecking=no'
4. 使用sshpass
sshpass用于脚本里比较方便,支持ssh,scp,rsync等使用场景
安装:
1. 源码安装
./configure 
 make 
 make install
 2. yum安装
 yum  -y install sshpass


用法简单举例:
# 显示地指定密码连接
sshpass -p xxx ssh root@192.168.1.10
# 从密码文件读取文件内容作为密码去远程连接主机
sshpass -f xxx.txt  ssh root@192.168.1.10
# scp
sshpass -p '123456' scp root@host_ip:/src /dst


sshpass不可以直接接带特殊字符意义的密码,需要转义或者用小括号,或者指定文件的方式来连接都可以规避这个问题

文章版权及转载声明:

作者:念宗本文地址:http://pyops.net/?id=49发布于 6年前 ( 2019-01-21 )
文章转载或复制请以超链接形式并注明出处运维之道

分享到: 网站分享代码

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

发表评论

快捷回复:

验证码

评论列表 (暂无评论,5619人围观)参与讨论

还没有评论,来说两句吧...