CentOS 7 SSH远程证书登陆

SSH远程证书登陆是使用"公私钥"认证的方式来进行SSH登录。

1、创建公私钥

创建方式有很多种,比如说通用ssh连接工具创建,然后把公钥上传到Server主机对应的用户目录下:

1
~/.ssh/authorized_keys  

大家可以参考这里:http://www.aiezu.com/system/linux/xshell_ssh_public-key_login.html

这里我使用服务器自带的openssh来创建,以root用户为例:  

1
2
3
4
5
//检查是否安装了openssh服务
rpm -qa|grep openssh
 
//创建公私钥
ssh-keygen -t rsa

  执行上边的语句后,开始进入引导设置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Generating public/private rsa key pair.
//创建ssh目录,直接回车
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:
74:4a:c7:28:26:06:20:7d:62:40:8b:2e:fa:14:a8:1b root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|==.              |
|o =..    o       |
|.o oo o + +      |
|.. . o + +       |
|o..     S        |
|+  .             |
|E .              |
| =               |
|. .              |
+-----------------+
 
//结束

  执行上边的方法,我们的公私钥便创建完成啦,可以查看一下:

1
2
3
4
5
[root@localhost ~]# ls ~/.ssh/
id_rsa  id_rsa.pub
 
//id_rsa  id 为私钥
//id_rsa.pub 为公钥

2、服务器配置

1
2
//打开配置文件
vim /etc/ssh/sshd_config

  修改相应节点:

1
2
3
4
5
6
7
8
//启用 RSA 认证
RSAAuthentication yes
//启用公钥私钥配对认证方式
PubkeyAuthentication yes
//公钥文件路径
AuthorizedKeysFile .ssh/authorized_keys
//禁用密码登陆
PasswordAuthentication no

  通过上边的设置可以看出公钥存储在 authorized_keys 文件里,我们需要将第一步生成的公钥写入到该文件,执行以下命令:

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

  注意:非root用户至少需要授于只读权限

1
chmod 400 ~/.ssh/authorized_keys

  最后重启ssh服务

1
systemctl restart sshd.service

3、客户端配置

本地创建一个文件key.txt,下载服务端生成的私钥,打开并复制到本地key.txt文件中:

1
more ~/.ssh/id_rsa

  注意:复制的时候请选择 -----BEGIN RSA PRIVATE KEY-----  -----END RSA PRIVATE KEY----- 全部内容,否则无法使用,例如:

  打开xshell客户端,身份验证选择Public key方式,输入用户名,刚才我们使用的是root用户,所以这里输入root,用户密钥选择浏览,找到key.txt文件导入,密码如果刚才我们在创建密钥的时候输入了密码,那此处密码填写刚才设置的密码,如果没有设置,则不用填写。

 至此,便可以连接接使用啦,安全又升级了!

 

文章出处:http://www.cnblogs.com/anech/p/6888979.html

 

posted @   anech  阅读(2096)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
点击右上角即可分享
微信分享提示