SSH密钥登入

作者:waMoYu 发布时间: 2024-10-12 阅读量:108 评论数:0

介绍

SSH登入设备时,一般是用户名+密码的认证方式,这里使用密钥的方式进行登入,相对账号密码而言更加方便,且安全性更高。

为实现密钥登录,我们只需要在客户端生成密钥对(即私钥和公钥)后,将公钥放置到对应服务器上,在使用SSH连接时,会自动进行匹配验证,并完成登录

一、客户端密钥对生成

密钥对生成命令

ssh-keygen.exe -t rsa

其中:

  • Enter file in which to save the key:密钥存放地址,默认为当前用户目录下的.ssh文件夹下。

  • Enter passphrase:保护私钥的密码,一般留空,直接和上面一样回车即可。

  • Enter same passphrase again:确认私钥密码

生成后,进入用户名文件夹即可看到我们生成的密钥:

其中:

  • id_rsa:生成的私钥,保留在电脑即可。

  • id_rsa.pub:生成的公钥,打开后,复制内容,后文部署到服务器上。

二、服务器端添加公钥

先登入到服务器,进入.ssh文件夹内(如果没有就使用mkdir命令创建),并使用vim创建并编辑authorized_keys文件:

mkdir ~/.ssh&touch ~/.ssh/authorized_keys

将客户端公钥内容复制到authorized_keys即可。

到此,SSH密钥登录的服务器端,配置完成。接下来,我们就可以使用客户端连接了。

authorized_keys内,可以添加多个客户端的公钥,一行一个,或者换行隔开即可。

三、验证登入

登入时选择密钥登入即可

四、优化

  1. 打开ssh配置文件

    sudo vim /etc/ssh/sshd_config
  1. 编辑sshd_config文件修改以下内容

    PermitRootLogin no          # 禁用root账户登录,yes、prohibit-password(允许密钥禁止密码登入)、no
    PasswordAuthentication no   # 禁止密码验证登录,这会强制所有非用户都必须使用密钥进行登录
    PubkeyAuthentication yes    # 启用公钥认证方式 
  1. 使用以下命令重启ssh服务

    sudo systemctl restart sshd

评论