在客户机生成公钥和私钥, 然后将公钥拷贝到服务器.ssh/authorized_keys中, 客户机即可免密登录服务器了.
yum -y install sshd
如果下载特别慢可以参考Centos修改镜像为国内的阿里云源
/usr/bin/ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa #生成公钥私钥
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys #将公钥追加到 ~/.ssh/authorized_keys文件
chmod 600 ~/.ssh/authorized_keys #修改 ~/.ssh/authorized_keys权限
ssh localhost
如果不用输入密码就成功了,如果还要生成密码,那就调试咯
exit
服务器端配置文件/etc/ssh/sshd_config
vi /etc/ssh/sshd_config
命令模式输入/RSA,找到47行的这两条配置文件
修改如下两行为yes。其实大多数情况下不用修改,默认就是yes。
47 #RSAAuthentication yes
48 #PubkeyAuthentication yes
49 #AuthorizedKeysFile .ssh/authorized_keys
如果你遇到了
Permissions 0755 for '~/.ssh/authorized_keys' are too open.
你没执行 chmod 600 ~/.ssh/authorized_keys
.ssh 目录的权限必须是0700 .ssh/authorized_keys 文件权限必须是0600
ssh-keygen #产生公钥与私钥对.
ssh-copy-id #将本机的公钥复制到远程机器的authorized_keys文件中
例子
ssh-copy-id -i id_rsa.pub root@node4
输入密码,copy完成
ssh node4
不需要输入密码咯
先执行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
~/.ssh/目录下有authorized_keys 文件后再用ssh-copy-id命令,否则有可能出问题。
修改一下服务器的配置文件/etc/sshd/sshd_config
PasswordAuthentication no
修改完后要重启sshd服务。
service sshd restart
这样用户通过密码方式登录时就会提示:
Permission denied (publickey,gssapi-with-mic)