ssh配置免密登录异常处理
ssh免密连接
主机A需要免密登录主机192.168.2.211
ssh-keygen
ssh-copy-id -i id_rsa.pub admin@192.168.2.211
按照正常配置之后 通过ssh admin@192.168.2.211 一直是提示需要输入密码

ssh调试信息
在192.168.2.211主机上进行操作
systemctl stop sshd
启动sshd服务同时进入调试模式
/usr/sbin/sshd -d

2.在客户端主机A上执行登录命令查看详细日志信息
ssh 'admin@192.168.2.211'
3. 在192.168.2.211的sshd进程的调试日志里出现重要的信息

4.修改192.168.2.211主机上的sshd配置文件

5.免密登录成功

在主机A上执行ssh admin@192.168.2.211的时候要注意当前在主机A上的登录用户 当前在A主机上的用户必须和之前在A上执行 ssh-keygen的用户一致 否则一样会免密连接失败
问题解决完成
ssh免密后登录仍然需要输入密码
配置目标主机/etc/ssh/sshd_config文件,将StrictModes no行注释掉
重新梳理StrictModes这个参数的解释,顾名思义严格模式就是对用户权限的要求比较严格,登录远程主机的用户是root,
那么对应以下权限的要求:默认的用户主目录/root所属用户组应该都是root,并且目录权限700,
/root/.ssh/authorized_keys这个文件的权限为600.

root用户设置普通用户免密登录
ssh-copy-id -f -i /home/admin/.ssh/id_rsa.pub admin@192.168.30.152


ssh-copy-id -f -i /root/.ssh/id_rsa.pub admin@192.168.30.152

ssh免密登录成功

ssh调试日志
1.112主机 ssh客户端
ssh-copy-id -f -i /home/admin/.ssh/id_rsa.pub admin@192.168.30.110
ssh -v 'admin@192.168.30.80'

2.80主机 ssh服务端
1.查看sshd的运行日志
tail -f /var/log/messages
tail -f /var/log/messages | grep sshd


chmod go-w /home/admin
chmod 700 /home/admin/.ssh
chmod 600 /home/admin/.ssh/authorized_keys

ansible无法执行远程命令解决方案
sh "ansible soar-dev --user=admin -m shell -a 'sh /home/admin/soar/jar/start-soar.sh'"
sh "ssh admin@192.168.30.172 'sh /home/admin/soar/jar/start-soar.sh'"
本文来自博客园,作者:不懂123,转载请注明原文链接:https://www.cnblogs.com/yxh168/p/14120081.html
浙公网安备 33010602011771号