CentOS SSH 证书登录配置指南
SSH(Secure Shell)是一种加密的网络传输协议,主要用于远程登录和管理网络设备,在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服务
如果尚未安装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用户登录(可选)。
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
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复