SSH免密登录,RSA认证登录

时间:2022-05-07
本文章向大家介绍SSH免密登录,RSA认证登录,主要内容包括说明、安装sshd、依次执行下面命令、测试、退出ssh、调试、命令讲解、注意、关闭用户名密码登录、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

说明

在客户机生成公钥和私钥, 然后将公钥拷贝到服务器.ssh/authorized_keys中, 客户机即可免密登录服务器了.

安装sshd

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

如果不用输入密码就成功了,如果还要生成密码,那就调试咯

退出ssh

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)