Linux使用putty远程证书登录,关闭远程用户名密码登录

1.生成数字证书

首先需要下载配套证书生成工具。在putty的官方网站 可以下载到puttygen.exe

 

 打开puttygen.exe

 

 

在选项Key中选择SSH-2(RSA) key

 

 点击Generate,将会生成公钥和私钥对

 

 

在生成的过程中需要鼠标在进度条所在区域的空白处来回晃动,以生成随机数,不然过程很漫长。

 

 

密钥对生成完毕

 

点击Save private key,保存私钥。(公钥可以不保存,公钥可以通过私钥自动生成。打开 puttygen.exe,点击load,选择私钥文件,之后就会生成公钥)

 

2.修改Linux中的ssh配置

修改Linux中/etc/ssh/sshd_config文件,开启ssh证书登录策略

 

将sshd_config文件改成以下配置

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

 

修改完成后,保存sshd_config文件。

 

将public key上传到Linux

首先查看在当前用户目录是否存在 .ssh 文件夹,里面是否有authorized_keys 文件。如果没有,通过下面的命令创建并设置权限

 mkdir ~/.ssh

 touch ~/.ssh/authorized_keys

 chmod 700 ~/.ssh

然后将公钥复制进authorized_keys文件中,然后保存。

 

3.使用数字证书远程登录

接下来使用putty远程证书登录

首先输入ip


 

选择私钥文件,点击open

 

 

进入登录界面,输入账户root

 

登录成功(如果之前生成证书时设置了密码短语,这里除了数字证书还需要输入密码)

 

4.关闭ssh远程用户名密码登录

目前的配置除了数字证书登录还可以使用用户名密码登录

修改/etc/ssh/sshd_config文件

将PasswordAuthentication 从yes改成no

 

 

保存后,重启ssh服务

 

 

尝试不用证书登录

报错提示:

Disconnected:No supported authentication methods available(server sent:)

断开连接:没有可用的支持的身份验证方法(服务器已发送:)

ssh远程用户名密码登录已关闭。

5./etc/ssh/sshd_config文件中关于证书登录和关闭用户名密码有关的参数解释

RSAAuthentication yes  #密钥认证
PubkeyAuthentication yes  #允许使用密钥验证  no为不使用密钥验证
AuthorizedKeysFile      .ssh/authorized_keys      #ssh公钥文件默认位置
PasswordAuthentication yes                        #使用密码验证  no为不使用密码验证
AuthenticationMethods publickey,password          #密码和密钥都使用(本篇博客未用到)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/ye-xin/p/12739554.html