一、前言:
ssh远程登录密码认证的方式有三种,password、Keyboard Interactive、Public Key
前面两种方式就是密码认证,含义都是一样大同小异。第三种是登录方式最安全的一种。
下面我们就来实现第三种方式public key秘钥认证方式。
二、原理:
ssh客户端利用服务端发过来的私钥,进行登录的认证,认证服务端的公钥。从来实现
安全的访问。
三、准备:
服务端
系统:Centos7.1
四、服务端生成秘钥
ssh-keygen -b 1024 -t dsa
接下来直接Enter
生成的路径:/root/.ssh/
-rw-r--r--. 1 root root 668 Aug 1 05:27 id_dsa
-rw-r--r--. 1 root root 616 Aug 1 05:05 id_dsa.pub
修改权限:
chmod 700 .ssh/
chmod 600 ~/.ssh/id_dsa
chmod 644 ~/.ssh/id_dsa.pub
生成认证秘钥:
cat id_dsa.pub >> authorized_keys
-rw-r--r--. 1 root root 616 Aug 1 05:27 authorized_keys
-rw-r--r--. 1 root root 668 Aug 1 05:27 id_dsa
-rw-r--r--. 1 root root 616 Aug 1 05:05 id_dsa.pub
五、更改sshd的配置文件
vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys #开启认证,设置认证路径
PasswordAuthentication no #禁用密码认证
保存退出
六、将私钥发送给客户端,重启sshd服务
systemctl restart sshd
七、使用xshell远程登录
ssh 地址--->输入用户名--->选择public key导入证书--->即可登录!
选择浏览文件,选择私钥即可!!
登录成功!!