SSH的key认证

准备工作

下面我们先修改一端的ip为172.25.254.1

另一端类似,可自行配置,注意地址的最后一段须不同。在这里我们地址尾数为1的主机命名为1,地址尾数为2的主机命名为2

为了方便自己确认自己所处的位置,建议修改主机名以做辨别命令为:

hostname set-hostname xxx   执行命令后重启shell即可看见改后的主机名。

ssh远程连接

ssh username@ip ---- username表示以何种身份登陆(root?student?),ip(xxx.xxx.xxx.xxx)

ssh username@ip command ----直接在远程主机上执行命令

exit ---- 退出远程主机

ssh -X username@ip ---- 调用远程主机图形界面

vim /etc/motd ---- 此命令在服务端运行,通过编辑可在远程登陆时显示你想显示的信息

sshkey加密

1.生成公钥私钥
服务端:

ssh-keygen ----生成公钥私钥工具


id_rsa        ##私钥
id_rsa.pub    ##公钥

2.添加key认证方式



服务端:
ssh-copy-id ----添加key认证方式的工具
-i ----指定加密key文件
/root/.ssh/id_rsa.pub ---- 加密key
root ---- 加密用户为root

3.分发钥匙给client主机并测试登陆
在此之前须执行以下命令服务端:

vim /etc/.ssh/sshd_config (修改passwordAuthenication yes 为no)这个命令使没有私钥的用户无法登录,然后执行systemctl restart sshd.device命令重启ssh服务即可生效,现在客户端重新连接会发现来年接不上,当执行以下命令后,会发现客户端又可以重新连接了,且不需要密码。
 

提升ssh的安全级别

.1执行以下命令
/etc/ssh/sshd_config ---- 修改配置文件
78 PasswordAuthentication yes|no ---- 是否开启用户密码认证,yes为支持no为关闭
48 PermitRootLogin yes|no ---- 是否允许超级用户登陆
79 AllowUsers student westos ---- 用户白名单,只有在名单中出现的用户可以使用sshd建立shell
50 DenyUsers westos ---- 用户黑名单

2.控制ssh客户端访问
vim /etc/hosts.deny
sshd:ALL ---- 拒绝所有人链接sshd服务
sshd:172.25.254.xxx ---- 允许xxx主机链接sshd
sshd:172.25.254.aaa, 172.25.254.bbb  ---- 允许aaa和bbb链接
sshd:ALL EXCEPT 172.25.254.xxx ---- 只不允许xxx链接

猜你喜欢

转载自blog.csdn.net/weixin_43189623/article/details/83004216