CentOS配置SSH密钥登录

总体思路:

在任意一台电脑生成RSA 密钥对,将公钥(.pub) 写入到服务器“/root/.ssh/authorized_keys”目录中,修改服务器“/etc/ssh/sshd_config ” 配置文件,然后用户使用私钥远程登录。

实际操作:

1 生成RSA 密钥对

在CentOS服务器上执行如下命令。

ssh-keygen -t rsa -C "273062991@qq.com"
# 如指定生成位置
ssh-keygen -t rsa -C "273062991@qq.com" -f ./my_rsa

执行后,会提示默认保存为/root/.ssh/id_rsa,直接回车即可。然后提示输入两次密钥的密码,如果不设置密码直接两次回车即可,注意如果输入密码此时键盘输入是不显示的,直接输入即可。最后见到以下显示,代表RSA 密钥对生成成功。

[root@centos-linux ~]# ssh-keygen -t rsa -C "273062991@qq.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:QIjKan6I1bIq7ilG79I2BQuawg/U7Ge01/x3kMEVVEA 273062991@qq.com
The key's randomart image is:
+---[RSA 2048]----+
|   . ..      .E++|
|  . ..         . |
|..o   .     . .  |
|.+ + . .     o   |
|=.o.+ . S     o  |
|==oo.= . o   o   |
|*.*o+ .   .   .  |
|+=oB       . . . |
|B==..       . .  |
+----[SHA256]-----+
[root@centos-linux ~]#

查看刚刚生成的/root/.ssh/目录,可看到生成了id_rsa和id_rsa.pub两个文件,即密钥对。id_rsa.pub为公钥,id_rsa为私角。

[root@centos-linux .ssh]# ls /root/.ssh/
id_rsa  id_rsa.pub

2 导入密钥

在CentOS服务器中导入以上的公钥到/root/.ssh/authorized_keys文件中。将id_rsa.pub内容写入到该文件即可。

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

如果需要添加多个公角,则在该文件中多行写入,每行代表一个公钥。

说明:为什么要将密钥文件写入到authorized_keys文件呢,因为ssh服务的默认配置里面写明了文件位置和文件名。可查看sshd_config,找到AuthorizedKeysFile    .ssh/authorized_keys一行。

cat /etc/ssh/sshd_config

3 ssh服务配置

编辑配置文件

vim /etc/ssh/sshd_config

#开启RSA验证

RSAAuthentication yes    

#使用公钥验证
PubkeyAuthentication yes    

重启ssh服务

systemctl restart sshd

接下来即可使用ssh密钥登录

4 私钥登录

远程用户使用私钥id_rsa,可通过命令或ssh工具进行免密登录。

5 安全配置

在确保以上配置无误,远程用户可通过密钥进行免密登录后。可以通过下面的配置属性修改登录端口和禁用密码登录,提高服务器安全性

 编辑配置文件

vim /etc/ssh/sshd_config

#修改登录端口

Port 22        

#禁用密码登录  
PasswordAuthentication no    

 修改配置后,仍需要重启ssh服务

systemctl restart sshd

6 客户端密钥导入失败的处理

如在Windows中使用xshell导入私钥时,会提示:“用户秘钥导入失败 无法加载用户密钥”,一般是需要将密钥的OPENSSH格式转为RSA格式。转换方法如下。

在CentOS服务器或其它CentOS服务器(需要有id_rsa文件)执行如下命令。

yum install -y putty
puttygen id_rsa -o id_rsa.ppk
puttygen id_rsa.ppk -O private-openssh -o id_rsa.pem

生成的id_rsa.pem文件即为转换后的RSA秘钥,Xshell就能正常识别导入。

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宫孙小兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值