CentOS SSH 证书
生成 SSH 密钥和公钥,并配置相应权限
首先登录到服务器,生成 SSH 的密钥和公钥:
ssh-keygen -t rsa
执行上述命令后,会提示输入保存密钥的文件路径(直接回车默认是/root/.ssh/id_rsa
),然后提示输入密码短语(建议设置一个复杂的密码短语以增加安全性),成功生成后,会在指定目录下生成两个文件:id_rsa
(私钥)和id_rsa.pub
(公钥)。
将公钥添加到authorized_keys
文件中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
修改authorized_keys
文件权限为644
,.ssh
目录权限为700
:
chmod 644 ~/.ssh/authorized_keys chmod 700 ~/.ssh
查看修改后的权限:
ls -a .ssh/
输出示例:
-rw------1 root root 1675 Jan 2 14:59 id_rsa -rw-r--r-1 root root 412 Jan 2 14:59 id_rsa.pub -rw-r--r-1 root root 408 Jan 2 14:59 authorized_keys
修改 SSH 配置文件
编辑sshd_config
配置文件:
vi /etc/ssh/sshd_config
修改以下配置参数:
允许密钥认证 RSAAuthentication yes PubkeyAuthentication yes StrictModes no 公钥保存文件 AuthorizedKeysFile .ssh/authorized_keys
如果需要允许 root 用户通过证书登录,确保PermitRootLogin
设置为yes
:
PermitRootLogin yes
重启 SSH 服务使配置生效:
systemctl restart sshd.service
下载私钥进行登录
在本地计算机上下载私钥文件,使用scp
从远程服务器下载到本地:
scp root@hostname:/root/.ssh/id_rsa ~/
确认私钥文件权限为600
:
chmod 600 ~/id_rsa
使用私钥登录:
ssh -i id_rsa root@hostname
初次登录时,会提示输入私钥密码短语,之后即可成功登录。
优化 SSH 配置
为了简化登录过程,可以在本地电脑的.ssh
目录下创建配置文件,编辑或创建config
文件:
vi ~/.ssh/config
添加以下内容:
Host domain HostName hostname User root IdentityFile ~/id_rsa
保存后,确认其权限为600
:
chmod 600 ~/.ssh/config
再次进行远程登录时,只需使用简化命令:
ssh domain
这样,就无需每次都指定用户、主机和证书文件了。
常见问题与解答 (FAQs)
Q1:为什么使用公钥认证比密码认证更安全?
A1:公钥认证采用非对称加密算法,私钥存储在客户端,不会在网络上传输,即使攻击者截获了通信数据,也无法获取用户的私钥,而密码认证方式下,密码可能被截获或破解。
Q2:如何更改 SSH 端口号以提高安全性?
A2:可以通过修改/etc/ssh/sshd_config
文件中的Port
参数来更改 SSH 端口号,编辑配置文件:
vi /etc/ssh/sshd_config
找到并修改Port
参数,例如改为2222
:
Port 2222
然后重启 SSH 服务:
systemctl restart sshd.service
之后,连接时需指定新的端口号:
ssh -p 2222 user@hostname
小伙伴们,上文介绍了“centos ssh证书”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1376389.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复