SSH通过密钥认证方式登录服务器

Kevin 教程 740 次浏览 9条评论

如果平时有查看服务器日志习惯,时常会看到一些企图破解SSH登录密码的情况,这些大多由自动扫描器弄的,密码弱的很容易中招。要解决这个问题,除了增加密码强度外,更好方法是采用密钥对认证方式登录,能有效提升安全性。

要启用密钥登录方式,首先需创建密钥对,然后在服务器端写入公钥,再由SSH客户端使用私钥认证登录。下面介绍具体配置流程。

创建SSH密钥对文件

在Linux系统上创建

大多Linux发行版系统自带有OpenSSH软件,可以很方便的在服务器上生成。

1. SSH登录服务器,运行ssh-keygen -t rsa -b 4096命令生成密钥。选择密钥存储目录,可以按Enter键使用默认目录。

# ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):

2. 是否设置私钥保护密码(设置后SSH登录除了验证私钥,还需输入密码,相等于二重认证),如果不设置则直接Enter两次。

Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

3. 显示密钥生成结果,文件存储在/root/.ssh/目录下,id_rsa是私钥文件,id_rsa.pub为公钥文件。使用SFTP工具下载到本地保存。或直接使用cat命令查看文件内容,复制到记事本文件保存(避免使用.doc文档存储,字符问题可能导致内容变动)。之后删除在服务器上的密钥文件。

Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:FNljtsS/cQueU3plPIPgQIwDMupDSMqHEHyuJzxFDW4 root@vpsuse
The key's randomart image is:
+---[RSA 4096]----+
|+o +o.. ==       |
|*.+oo. o.+B.     |
|o=+E    o+o+. .. |
|o oo   .  ..+.oo+|
|.oo     S  . O +o|
| =..        * o  |
|  +          o   |
|                 |
|                 |
+----[SHA256]-----+

在Windows系统上创建

如果希望在Windows电脑上生成,需要额外下载软件,例如PuTTYgen(点击前往下载)。如果使用Xshell,自身也提供有类似密钥生成工具。

1. 运行puttygen.exe,选择SSH-2(RSA)类型密钥,密钥长度调至4096,点击Generate生成。

设置密钥参数

2. 密钥生成过程中,需要将鼠标移至软件空白区域反复移动,以产生随机数据。

移动鼠标获取随机数据

3. 生成密钥后,可以为私钥设置保护密码,然后导出密钥文件备用。

导出密钥文件

Linux服务器端配置公钥

SSH登录服务器,使用下面命令创建公钥文件。将之前生成的公钥文件内容复制进去保存。

mkdir ~/.ssh; vi ~/.ssh/authorized_keys

为公钥目录和密钥文件设置合适的权限。

chmod 700 -R ~/.ssh && chmod 600 ~/.ssh/authorized_keys

到处,应该就能使用密钥方式登录服务器了。之后可考虑关闭密码登录方式(关闭前建议先验证SSH密钥登录是否正常,以免意外情况无法登录服务器)

关闭SSH密码登录方法:编辑SSH配置文件vi /etc/ssh/sshd_config,将PasswordAuthentication参数改为no,重启sshd服务即可生效。

SSH客户端配置密钥登录

下面以Xshell SSH客户端为例,修改SSH连接会话属性,将用户身份验证方式改为验证密钥登录。

SSH客户端设置密钥认证

如果你习惯使用PuTTY,可以参考这篇文章设置。

评论列表

  1. #1

    Hi, very nice website, cheers!
    ——————————————————
    Need cheap and reliable hosting? Our shared plans start at $10 for an year and VPS plans for $6/Mo.
    ——————————————————
    Check here: https://www.reliable-webhosting.com/

  2. #2

    dapoxetine coupons card https://dapoxetine.confrancisyalgomas.com/

  3. #3

    bimatoprost medication class https://carepro1st.com/

  4. #4

    contrave naltrexone bupropion https://naltrexoneonline.confrancisyalgomas.com/

  5. #5

    generic dapoxetine overnight delivery usa https://salemeds24.wixsite.com/dapoxetine

  6. #6

    ivermectin alcohol https://ivermectin.mlsmalta.com/

  7. #7

    hydroxychloroquine coronavirus works https://hydroxychloroquine.webbfenix.com/

  8. #8

    sildenafil and dapoxetine tablets https://ddapoxetine.com/

  9. #9

    daily cialis vs regular cialis https://wisig.org/

发表评论

电邮地址用于 Gravatar 头像显示,不会被公开可见。