分享最新优惠信息
购买主机更加划算

CentOS8系统设置使用SSH秘钥访问方法

在使用Centos8系统时,很多朋友都会设置使用SSH秘钥访问,本文简单说说CentOS8系统如何创建SSH密钥,并将公钥添加到服务器,同时配置SSH用于无密码登录,主要设置过程如下。

一、创建SSH key pair

如果没有安装SSH密钥,则需要在centos8系统上创建SSH密钥对。

在本地计算机的终端(如putty)中,运行以下命令:

ssh-keygen

运行此命令之后会看到以下提示:

Output
Generating public/private rsa key pair.
Enter file in which to save the key (/your_home/.ssh/id_rsa):

按ENTER键进入,将此SSH密钥对保存到./ssh子目录中,或者你自己指定一个备用路径。

设置好之后你将看到类似以下的输出内容:

Output
Your identification has been saved in /your_home/.ssh/id_rsa.
Your public key has been saved in /your_home/.ssh/id_rsa.pub.
The key fingerprint is:
your_fingerprint_key username@remote_host
The key’s randomart image is:
+–[ RSA 2048]—-+
| ..o |
| E o= . |
| o. o |
| .. |
| ..S |
| o o. |
| =o.+. |
|. =++.. |
|o=++. |
+—————–+

centos8配置SSH秘钥

注意:在上面的输出中,your_home是您计算机的主目录

这样就创建了一个公众和私钥匙对,之后把公钥复制到服务器上。查看您的公钥命令如下:

cat ~/.ssh/id_rsa.pub

这时候会看到非常长的字符串,就是以SSH-rsa开头的。

二、CentOS8系统添加SSH密钥

将SSH发送到服务器并创建.ssh目录(如果它不存在的话):

mkdir -p ~/.ssh

将公钥从步骤一添加到~/.ssh/authorized_keys。并且用public_key_string取代步骤一种的id_rsa.pub内容,命令如下:

echo public_key_string >> ~/.ssh/authorized_keys

退出服务器,然后重新登录系统:

ssh root@your_server_ip

如果是第一次连接到服务器的话,将看到以下消息:

Output
The authenticity of host ‘your_server_ip’ can’t be established.
ECDSA key fingerprint is your_finderprint_id.
Are you sure you want to continue connecting (yes/no)?

如果你看到这条消息,键盘输入yes和回车键后还会提示您输入服务器根密码。接下来我们将设置如何禁用密码身份验证。

三、禁用SSH密码身份验证

配置了基于SSH密钥的身份验证,但密码身份验证仍处于活动状态。要改变这一点,需要对文件进行一些更改。sshd_config它位于/etc/ssh目录,可以使用以下命令打开该文件:

sudo vi /etc/ssh/sshd_config

在您需要查找和更改的文件中,需要找到以下几行并进行的设置:

允许根登录的几行应该设置为yes


PermitRootLogin yes

密码身份验证应设置为no


PasswordAuthentication no

应将问题响应身份验证设置为no


ChallengeResponseAuthentication no

使用密码身份验证方法(PAM)应设置为yes


UsePAM yes

完成更改后,请按ESC然后输入:WQ退出保存。若要使此更改生效,请重新启动sshd服务,命令如下:

sudo systemctl restart sshd.service

在关闭连接到服务器的终端之前,打开新的终端窗口并运行以下命令

ssh root@your_server_ip

现在连接到您的服务器的话,只使用您的SSH密钥,并不需要输入密码,这意味着成功配置了基于SSH的身份验证,而且禁用了密码身份验证。

未经允许不得转载:惠主机 » CentOS8系统设置使用SSH秘钥访问方法