Vultr VPS设置SSH密钥并实现远程登录(基于centos 8系统)

  • Vultr VPS设置SSH密钥并实现远程登录(基于centos 8系统)已关闭评论
  • A+
所属分类:新手教程

我们如何登录到Linux服务器的SSH帐户?大多数用户都是使用密钥或设置的根密码通过SSH远程工具连接,一般情况下通过端口对接密码登录比较多。事实上,如果我们可以使用SSH密钥登录,它比密码登录安全得多。本文介绍如何在CentOS 8系统上生成SSH密钥。我们还将向您展示如何基于SSH密钥设置身份验证,并在不输入密码的情况下连接到远程Linux服务器。我们不认为不输入密码是不安全的。事实上,只要我们连接了密钥,大多数人就没有本地密钥文件。

Vultr VPS设置SSH密钥并实现远程登录(基于centos 8系统)

执行以下LS命令以检查密钥文件是否存在:

ls -l ~/.ssh/id_*.pub

如果命令的输出返回类似于未找到此类文件或目录的内容,或者未找到匹配项,则表示用户没有SSH密钥。我们可以继续下一步并生成SSH密钥对。

如果我们有SSH密钥对,我们可以使用它们或备份旧密钥并生成新密钥。要使用我们的电子邮件地址作为注释生成新的4096位SSH密钥对,请运行:

ssh-keygen -t rsa -b 4096 -C "your_email@www.vultrla.com"

系统将提示您指定文件名:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

按enter键接受默认文件位置和文件名。接下来,系统将要求我们输入安全密码。我们是否想使用密码取决于我们自己。密码短语将增加额外的安全层。如果我们不想使用密码,只需按enter键。

Enter passphrase (empty for no passphrase):

整个交互过程如下所示:

%title插图%num

我们需要验证是否已生成新的SSH密钥对。请键入:

ls~/.ssh/id_*

返回值:

/home/yourusername/.ssh/id_uu2;rsa/home/yourusername/.ssh/id_2;rsa.pub

就是这样。我们已在CentOS客户端计算机上成功生成SSH密钥对。

既然生成了SSH密钥对,下一步就是将公钥复制到我们想要管理的服务器。

将公钥复制到远程服务器的最简单和推荐的方法是使用SSH copy ID实用程序。在我们的本地机器终端类型上:

ssh-copy-id remote_username@server_ip_address

此命令将要求我们输入远程用户名密码:

remote_username@server_ip_address's password:

一旦用户通过身份验证,公钥文件(~/.SSH/idu rsa.Pub)的内容将附加到远程用户的~/。SSH/authorized_uu在密钥文件中,然后关闭连接。

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'username@server_ip_address'"
and check to make sure that only the key(s) you wanted were added.

如果本地计算机上没有SSH copy ID,请使用以下命令复制公钥:

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

完成上述步骤后,我们可以登录到远程服务器,而无需提示输入密码。要进行验证,请尝试通过SSH登录到服务器:

ssh remote_username@server_ip_address

如果我们没有为私钥设置密码,我们需要立即登录。否则,系统将要求您输入密码。

要向远程服务器添加额外的安全层,我们可以禁用SSH密码身份验证。继续之前,请确保您可以以具有sudo权限的用户身份登录到服务器,而无需密码。

按照以下步骤禁用SSH密码身份验证:

1.登录到远程服务器:

ssh sudo_user@server_ip_address

2.使用文本编辑器uconfig打开SSH配置文件/etc/SSH/sshd:

sudo nano /etc/ssh/sshd_config

3.搜索以下说明并按如下方式修改它们:

vi /etc/ssh/sshd_config

编辑文件。

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

4.完成后,保存文件并通过键入以下内容重新启动SSH服务:

sudo systemctl restart ssh

此时,将禁用基于密码的身份验证。

最后,这里我们演示了如何生成新的SSH密钥对并设置基于SSH密钥的身份验证。我们可以使用同一个密钥来管理多个远程服务器。我们可以设置如何禁用SSH密码身份验证,并为服务器添加额外的安全层。默认情况下,SSH侦听端口22。通常,我们会修改默认端口。

Vultr 新用户直送 50-100 美元活动再次开启,社交 转发再领 3 美元