我们如何登录到Linux服务器的SSH帐户?大多数用户都是使用密钥或设置的根密码通过SSH远程工具连接,一般情况下通过端口对接密码登录比较多。事实上,如果我们可以使用SSH密钥登录,它比密码登录安全得多。本文介绍如何在CentOS 8系统上生成SSH密钥。我们还将向您展示如何基于SSH密钥设置身份验证,并在不输入密码的情况下连接到远程Linux服务器。我们不认为不输入密码是不安全的。事实上,只要我们连接了密钥,大多数人就没有本地密钥文件。
执行以下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 美元
未经允许不得转载:Vultr中文网 » Vultr VPS设置SSH密钥并实现远程登录(基于centos 8系统)