centos7:ssh免密登陆设置及常见错误 | 您所在的位置:网站首页 › centos无法登录root › centos7:ssh免密登陆设置及常见错误 |
目录一、免密登录设置二、常见错误三、CentOS7再ssh-copy-id时的错误
一、免密登录设置
1、使用root用户登录,进入到目录/root/.ssh 2、执行命令:ssh-keygen -t rsa 一路回车,完成后会在目录/root/.ssh下面生成文件 id_rsa和id_rsa.pub 3、将公钥写入文件authorized_keys:cat id_rsa.pub >> authorized_keys 4、重复1、2、3,直到要免密登录的所有机器都生成了id_rsa和id_rsa.pub文件和authorized_keys 5、将其他机器的公钥拷贝到第一台机器authorized_keys文件中: ssh-copy-id -i ~/.ssh/id_rsa.pub root@ip 6、将第一台机器的authorized_keys复制到其他机器 scp /root/.ssh/authorized_keys ip:/root/.ssh/ 提示报错:Permission denied, please try again. 可能原因: 1、目录或文件没有写权限(默认不会),解决:chmod 700 .ssh chmod 644 authorized_keys 2、ssh服务需要修改下配置,解决: 修改目标服务器的/etc/ssh/sshd_config中的PermitRootLogin 为 yes ,然后重启ssh(systemctl restart sshd.service) 7、验证(第一次需密码) ssh ip 注:上述实现了root用户之间的免密操作,如果要实现其他用户,则使用其他用户登录,进行上述操作,生成的密钥文件会在用户目录下的.ssh下。 如果已经实现了一个用户免密,要实现其他用户免密,可以将实现免密的用户下的.ssh目录下的文件拷贝到其他用户下即可。 二、常见错误一般为了方便运维管理都会配置ssh免密登录,ssh免密登录实现也很方便。今天遇到一个完成了配置了却不能生效的问题。 遇到这个问题一般有以下几点: authorized_keys文件是否启用 .ssh 和 authorized_keys 文件权限问题检查AuthorizedKeysFile配置是否启用authorized_keys ···bash root@pts/1 $ cat /etc/ssh/sshd_config |egrep AuthorizedKeysFile AuthorizedKeysFile .ssh/authorized_keys 没有问题,继续检查.ssh (700) 和 authorized_keys(644) 权限 ```bash root@pts/1 $ getfacl /root/.ssh/ getfacl: Removing leading '/' from absolute path names # file: root/.ssh/ # owner: root # group: root user::rwx group::--- other::--- root@pts/1 $ getfacl /root/.ssh/authorized_keys getfacl: Removing leading '/' from absolute path names # file: root/.ssh/authorized_keys # owner: root # group: root user::rw- group::--- other::---authorized_keys 权限不对,修改一下chmod 644 authorized_keys 再次尝试结果发现还是不行。但是该设置的权限都设置了。既然.ssh目录和其下文件的权限都OK了,那就检查下其父目录的权限,也就是这里的/root的权限 root@pts/1 $ getfacl /root/ getfacl: Removing leading '/' from absolute path names # file: root/ # owner: ftpuser # group: ftpuser user::r-x group::r-x other::---发现这里/root 的属主都发生了变化。为了不影响别的业务情况,保留这里的ftpuser权限,利用setfacl添加特殊ACL权限 root@pts/1 $ chown -R root:root /root/ root@pts/1 $ setfacl -m u:ftpuser:rwx /root/ root@pts/1 $ getfacl /root/ getfacl: Removing leading '/' from absolute path names # file: root/ # owner: root # group: root user::rwx user:ftpuser:rwx #effective:r-x group::r-x mask::r-x other::r-x附加 权限问题 /root 775 /root/.ssh 700 /root/.ssh/authorized_keys 644 开启文件AuthorizedKeysFile .ssh/authorized_keys 三、CentOS7再ssh-copy-id时的错误1、在几台主机搭好环境后,centos7系统,几台机器全部执行了ssh无密码操作后,由于 IP的问题而需要为某一台服务器重新配置IP,也就是换了一个IP但是主机名并没有改变, ssh-copy-id dgb@ceph1 时就报了以下的错误 /bin/ssh-copy-id: ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ERROR: @ WARNING: POSSIBLE DNS SPOOFING DETECTED! @ ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ERROR: The ECDSA host key for ceph-admin has changed, ERROR: and the key for the corresponding IP address 192.168.0.10 ERROR: is unknown. This could either mean that ERROR: DNS SPOOFING is happening or the IP address for the host ERROR: and its host key have changed at the same time. ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ERROR: @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ERROR: IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! ERROR: Someone could be eavesdropping on you right now (man-in-the-middle attack)! ERROR: It is also possible that a host key has just been changed. ERROR: The fingerprint for the ECDSA key sent by the remote host is ERROR: 6e:77:fc:47:14:4c:98:46:c8:c8:49:01:a8:fe:83:ee. ERROR: Please contact your system administrator. ERROR: Add correct host key in /home/dgb/.ssh/known_hosts to get rid of this message. ERROR: Offending ECDSA key in /home/dgb/.ssh/known_hosts:4 ERROR: ECDSA host key for ceph-admin has changed and you have requested strict checking. ERROR: Host key verification failed.解决办法其实在报错信息中已经存在了: ERROR: Add correct host key in /home/dgb/.ssh/known_hosts to get rid of this message. ERROR: Offending ECDSA key in /home/dgb/.ssh/known_hosts:4 查看/home/dgb/.ssh/known_hosts这个文件,里面是: ceph-admin,192.168.0.10 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFZgBm7r+RNOhGby8l+D57bXr/f1k055AlrlJcjlUQO9CMkNFZLGE32fcREG3EtmmrdPxlUXMX+ajzkaYbEa1rs= ceph1,192.168.0.11 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFZgBm7r+RNOhGby8l+D57bXr/f1k055AlrlJcjlUQO9CMkNFZLGE32fcREG3EtmmrdPxlUXMX+ajzkaYbEa1rs= ceph2,192.168.0.12 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFZgBm7r+RNOhGby8l+D57bXr/f1k055AlrlJcjlUQO9CMkNFZLGE32fcREG3EtmmrdPxlUXMX+ajzkaYbEa1rs= ceph3,192.168.0.13 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFZgBm7r+RNOhGby8l+D57bXr/f1k055AlrlJcjlUQO9CMkNFZLGE32fcREG3EtmmrdPxlUXMX+ajzkaYbEa1rs= ceph4,192.168.0.14 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDhXt1f/8evGZ4U7RBqV8bRi6O/ZcZvmWjPyZA6HQsFQF9M0Y2Usq3VvTW46dWaaNRMpRbwzmUYLwADV/RsXm1c= ceph-rgw2,192.168.0.30 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFlk04wCYYRhNqPrGlyUt7OTPhE1yU33+CWo1iTXJj7c+aU87z2saGGnTqCylQmz+yAdO7vMPGsIin5GqxODnkA= 找到以前的IP并且删除,然后再做ssh-copy-id操作即可。 |
CopyRight 2018-2019 实验室设备网 版权所有 |