遇到问题:对于免密码登陆,虽然很简单,但是还是会出现一些问题。故记录。
解决问题:① 由于.ssh 和authorized_keys的权限不对,导致无法正确免密码登录。
② 由于selinux未关闭,导致做了免密码,权限也正确的情况下,依然需要输入密码才能登陆到服务器
介绍环境: 客户端:192.168.8.165 服务器:192.168.8.239
目的: 使客户端192.168.8.165无密码登录到服务器192.168.8.239
实验环境:关闭防火墙,sellinux (客户端和服务端都执行命令)
service iptables stop setenforce 0
如果没有ssh命令,请执行以下命令安装
yum -y install openssh-clients
步骤一: 用ssh-key-gen 在客户端198.168.8.165上创建公钥和密钥
[root@localhost ~]# ssh-keygen -t rsa -P ''
步骤二: 在客户端执行ssh-copy-id 把公钥复制到远程主机上{这里使用的是ssh-copy-id代替了scp和ssh命令,该命令用在这里的优点是只需拷贝文件到服务端,会自动创建authorized_keys,并且给予对应的权限给到文件。如果不是root用户,那么就修改root用户即可。如:ssh-copy-id -i ~/.ssh/id_rsa.pub backup@192.168.8.239。在/home/backup目录的.ssh目录下即会自动生成文件authorized_keys}
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.8.239
在远程主机上查看authorized_keys
步骤三: 客户端192.168.8.165直接登录远程主机192.168.8.239
以上,免密码登陆完成。