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

在 CentOS 上使用 SSH 证书登录,可以通过生成密钥对、上传公钥到服务器并配置 SSH 服务来实现。

CentOS SSH 证书登录配置指南

SSH(Secure Shell)是一种加密的网络传输协议,主要用于远程登录和管理网络设备,在CentOS中使用SSH证书登录不仅可以提高安全性,还能简化登录过程,以下是详细的步骤和注意事项:

centos ssh证书登录

1. 生成SSH密钥对

在本地计算机上生成SSH密钥对,使用以下命令:

ssh-keygen -t rsa

按提示操作,可以选择不设置密码短语(passphrase),直接回车即可,这会生成两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。

2. 将公钥上传到服务器

将生成的公钥上传到目标CentOS服务器,可以使用scp命令:

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

替换user为你的用户名,hostname为目标服务器的IP地址或域名。

3. 配置服务器

在服务器上,登录后执行以下步骤:

安装并启动SSHD服务

centos ssh证书登录

如果尚未安装OpenSSH服务,可以使用以下命令安装:

sudo yum install openssh-server -y

启动并设置开机自启:

sudo systemctl start sshd
sudo systemctl enable sshd

配置SSHD服务

编辑SSHD配置文件:

sudo vim /etc/ssh/sshd_config

添加或修改以下内容:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PermitRootLogin no
PasswordAuthentication no

RSAAuthentication yes:启用RSA认证。

PubkeyAuthentication yes:启用公钥认证。

AuthorizedKeysFile .ssh/authorized_keys:指定公钥文件路径。

PermitRootLogin no:禁止root用户登录(可选)。

centos ssh证书登录

PasswordAuthentication no:禁用密码认证。

导入公钥

将公钥追加到authorized_keys文件中:

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

确保权限正确:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

4. 重启SSHD服务

使配置生效:

sudo systemctl restart sshd

5. 验证登录

你可以使用私钥进行SSH登录:

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

如果一切配置正确,你应该可以无需输入密码直接登录到服务器。

常见问题及解决方法

Q1: 登录时仍然提示输入密码怎么办?

A1: 确保SSHD配置文件中的PasswordAuthentication设置为no,并且PubkeyAuthentication设置为yes,检查authorized_keys文件中的公钥是否正确。

Q2: 如何更改SSH端口号?

A2: 编辑SSHD配置文件,找到Port设置项,将其改为所需的端口号(例如2222):

Port 2222

然后重启SSHD服务:

sudo systemctl restart sshd

注意:还需要确保防火墙开放新的端口号。

以上就是关于“centos ssh证书登录”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1376289.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-12-04 07:58
下一篇 2024-03-01 19:20

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入