当前位置:首页 > 行业动态 > 正文

如何在CentOS 7上设置SSH证书登录?

CentOS 7使用SSH证书登录,需生成密钥对,配置服务器接受公钥,客户端提供私钥。

在CentOS 7系统中,使用SSH证书登录是一种更安全的远程访问方式,相比传统的用户名和密码登录,SSH证书登录可以有效防止中间人攻击和密码泄露,以下是详细的步骤和配置方法:

如何在CentOS 7上设置SSH证书登录?  第1张

一、生成SSH密钥对

首先需要在客户端计算机上生成SSH密钥对,可以使用以下命令生成RSA密钥:

ssh-keygen -t rsa

执行上述命令后,系统会提示输入密钥保存位置、密码短语等信息,一般情况下,直接按回车键即可使用默认设置,完成后会在~/.ssh/目录下生成两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。

二、配置服务器端的SSH服务

1、将公钥上传到服务器

将生成的公钥文件(如id_rsa.pub)上传到服务器的目标用户家目录下的.ssh目录中,可以使用scp命令进行传输:

   scp ~/.ssh/id_rsa.pub user@hostname:~/

2、添加公钥到授权列表

在服务器端,将公钥内容追加到目标用户的authorized_keys文件中:

   cat id_rsa.pub >> ~/.ssh/authorized_keys

3、设置权限

确保authorized_keys文件和.ssh目录具有正确的权限:

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

4、修改SSH配置文件

编辑/etc/ssh/sshd_config文件,确保以下参数已启用:

   RSAAuthentication yes
   PubkeyAuthentication yes
   AuthorizedKeysFile .ssh/authorized_keys

5、重启SSH服务

使配置生效,重启SSH服务:

   systemctl restart sshd

三、使用SSH证书登录

完成上述配置后,就可以使用SSH证书登录到服务器了,使用以下命令进行登录:

ssh -i ~/.ssh/id_rsa user@hostname

如果之前设置了密码短语,系统会提示输入该密码,成功登录后,即可进入远程服务器的命令行界面。

四、优化登录过程

为了简化每次登录时都需要指定私钥文件的操作,可以在本地计算机的~/.ssh/config文件中添加以下内容:

Host myserver
    HostName hostname
    User user
    IdentityFile ~/.ssh/id_rsa

这样,以后只需输入ssh myserver即可自动使用指定的私钥文件进行登录。

五、常见问题与解答

Q1: 如何更改SSH端口号?

A1: 编辑/etc/ssh/sshd_config文件,找到Port参数并修改为所需的端口号,例如Port 2222,然后重启SSH服务:systemctl restart sshd。

Q2: 如何禁用密码登录,仅允许使用SSH证书登录?

A2: 在/etc/ssh/sshd_config文件中,将PasswordAuthentication参数设置为no,然后重启SSH服务:systemctl restart sshd。

六、小编有话说

通过以上步骤,您可以在CentOS 7系统中成功配置和使用SSH证书登录,这种方式不仅提高了系统的安全性,还简化了日常操作流程,如果您在使用过程中遇到任何问题,欢迎随时提问或查阅相关文档,希望本文对您有所帮助!

0

随机文章