CentOs7.3 SSH密钥对配置

CentOs7.3 SSH密钥对配置

一般情况下不能轻易使用root用户,
所以我们来学习两个普通用户之间的ssh密钥配置,
配置成功后客户机使用的用户可以免密码登陆服务器。

密钥对验证:客户机生成密钥对上传到服务器,用于登录服务器

我用两个centos7.3系统给大家演示配置过程:
这是服务器的配置
IP地址为192.168.1.1

[root@b ~]# systemctl stop firewalld
[root@b ~]# setenforce 0
[root@b ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@b ~]# systemctl restart network
[root@b ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.1  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::aa1a:9947:c0ab:3862  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:73:39:28  txqueuelen 1000  (Ethernet)
        RX packets 3  bytes 276 (276.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 34  bytes 4372 (4.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

这是客户端的配置
IP地址为192.168.1.2

[root@c ~]# systemctl stop firewalld
[root@c ~]# setenforce 0
[root@c ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
^[[B[root@c ~]# systemctl restart network
[root@c ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.2  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::ba00:b27e:5e81:9ec1  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:3d:4e:2e  txqueuelen 1000  (Ethernet)
        RX packets 3  bytes 180 (180.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 36  bytes 4733 (4.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

服务端创建普通用户abc

[root@b ~]# useradd abc
[root@b ~]# passwd abc
更改用户 abc 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

客户端是创建用户user

[root@c ~]# passwd user
更改用户 user 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

在客户端登陆服务器是我们能看到是需要密码的

[root@c ~]# ssh abc@192.168.1.1
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
ECDSA key fingerprint is c6:8b:1c:96:ad:b3:5c:03:19:ad:a2:f5:f9:3f:25:e2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.1' (ECDSA) to the list of known hosts.
abc@192.168.1.1's password: 
[abc@b ~]$ 

输入exit退出

[abc@b ~]$ exit
登出
Connection to 192.168.1.1 closed.
[root@c ~]# 

在客户端user用户下
输入 ssh-keygen -t ecdsa 生成密钥

[root@c ~]# su user
[user@c root]$ ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_ecdsa): 
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/user/.ssh/id_ecdsa.
Your public key has been saved in /home/user/.ssh/id_ecdsa.pub.
The key fingerprint is:
f2:c4:36:4b:c6:63:00:46:42:33:fb:fb:68:bd:8e:d8 user@c
The key's randomart image is:
+--[ECDSA  256]---+
| .=.+            |
|   * .           |
|  .   .          |
|   .   +         |
|    . . S        |
|     . O +       |
|    ..  o        |
|   o.+.          |
|  ..E.+.         |
+-----------------+

密钥在当前用户user下的 .ssh 目录下
id_ecdsa是私钥
id_ecdsa.pub是公钥

[user@c root]$ ls /home/user/.ssh/
id_ecdsa  id_ecdsa.pub
[user@c root]$ 

把公钥文件上传到服务器
scp /home/用户/.ssh/id_ecdsa.pub root@服务器IP:/目录
我给它传到/tmp下
#这里要输入一次服务器的root密码

[user@c root]$ scp  /home/user/.ssh/id_ecdsa.pub  root@192.168.1.1:/tmp
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
ECDSA key fingerprint is c6:8b:1c:96:ad:b3:5c:03:19:ad:a2:f5:f9:3f:25:e2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.1' (ECDSA) to the list of known hosts.
root@192.168.1.1's password: 
id_ecdsa.pub                            100%  168     0.2KB/s   00:00    
[user@c root]$ 

在服务端把密钥文件id_ecdsa.pub拿出来
交给/home/abc/.ssh/authorized_keys

[root@b ~]# mkdir /home/abc/.ssh
[root@b ~]# cat /tmp/id_ecdsa.pub >> /home/abc/.ssh/authorized_keys

在客户端进行成功验证

[user@c root]$ ssh abc@192.168.1.1
Last login: Sat Nov 16 21:20:44 2019
[abc@b ~]$ 

只有客户端的user用户才能使用服务端的abc用户身份登陆服务端
我们来尝试一下其他普通用户使用服务端abc用户身份登陆服务器

在客户端创建普通用户aaa

[root@c ~]# useradd aaa
[root@c ~]# passwd aaa
更改用户 aaa 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@c ~]# 

其他用户不能免密登陆服务器的abc身份验证成功

[root@c ~]# ssh abc@192.168.1.1
abc@192.168.1.1's password: 
Permission denied, please try again.
abc@192.168.1.1's password: 
Permission denied, please try again.
abc@192.168.1.1's password: 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
[root@c ~]# 

我是小白
有什么不足的尽管评论哈哈哈!!!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值