深度解析sshd服务管理远程主机方法

1.sshd简介

 ssh全称为  secure  shell

可以通过网络在远程主机中开启shell的服务

客户端软件   sshd

连接方式:

   1)ssh  username@ip          ## 文本模式的连接

   2)ssh  username@ip  -X    ## 可以在连接成功后开启图形

   注意:1.在第一次连接陌生主机时,要生成认证文件/root/.ssh/know_host,所以会询问是否建立,需要键入yes,

                  此后在连接此台主机时,只要认证文件存在,就不需要再次输入yes。

               2.每次编辑完配置文件后要重新加载配置文件(systemctl reload sshd.service    有的服务不支持重新加载,就要

                   重启服务)或者重启(systemctl restart sshd.service)

               3.为了验证服务管理方法和相关配置文件的设定,我们要保持环境的纯净,删除掉影响实验结果的因素

扫描二维码关注公众号,回复: 4964447 查看本文章

               4.在每次sshd服务实验成功时及时注销远程连接,否则可能会造成混乱,要时刻清醒自己所在的环境

可以打开gedit说明远程连接图形界面成功

通过ip限制用户连接:

主要可以配置两个文件来进行设定

/etc/hosts.deny  

/etc/hosts.allow

e.g.  配置文件,使server不能连接到client

注意:

/etc/hosts.deny 即改即生效

/etc/hosts.allow     的优先级高于    /etc/hosts.deny  

决定谁可以连比不允许谁连更安全

2.sshd的key认证

1)在服务端设置公钥

有两种方法:

a.直接键入ssh-keygen,按照提示,一步步设置(一直回车,想要密码可以设置)

ssh-keygen

b.直接使用命令行一次设置

ssh-keygen -f /root/.ssh/id_rsa -N '' 

2)给服务端ip加密

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

3)关闭原始认证(关闭通过密码完成sshd认证)

vim  /etc/ssh/sshd_config   ##打开sshd服务配置文件,关闭密码认证方式

把78行的yes改为no,保存退出。

注意:一定要在给前面的配置完成后再关闭密码认证

4)重启服务使配置文件生效(sshd服务也可以直接重新加载配置文件)

systemctl restart sshd.service    ##重启sshd服务
systemctl reload  sshd.service    ##重新加载sshd服务

关闭密码认证后,尝试用client客户端连接server服务端,可以看到不允许连接

5)分发钥匙给允许连接的用户

我们用scp远程复制命令分发钥匙给允许连接的用户

scp /root/.ssh/id_rsa  [email protected]:/root/.ssh/

远程复制后,我们可以看到客户端的相应目录下出现了私钥,此时我们用client用户端连接服务端

可以看到无需输入密码就可以直接连接。

6)分发钥匙后确定是否可以连接的配置方法

a.使拥有私钥的用户无法连接服务端,可以删除公钥以达到让私钥失效,进而限制用户登陆

rm -fr /root/.ssh/authorized_keys

b.使拥有私钥的用户重新与客户端取得连接,可以重新创建公钥,进而让用户正常登陆

可以看到加密公钥是从模板复制而来

cp /root/.ssh/id_rsa.pub   /root/.ssh/authorized_keys

重新按照模板建立公钥后,用户端可以正常连接客户端

3.sshd认证用户黑白名单

配置文件: /etc/ssh/sshd_config

1)root用户登陆权限

vim  /etc/ssh/sshd_config

78行更改为yes,允许通过密码进行认证

48行 取消注释,让文本生效,把yes改为no

2)用户白名单

3)用户黑名单

注意:白名单以外默认不可登陆,黑名单以外默认可以登陆,所以白名单比黑名单的安全性更佳。

4.添加sshd登录信息

通过在服务端配置/etc/motd来添加登陆信息,再客户端登陆到server端后就可以看到

vim  /etc/motd  ##文件内容就是登陆后显示的信息

编写文件内容如下:

可以看到登陆信息显示为:

5.sshd认证的用户登录审计

命令 功能
w 查看正在使用当前系统的用户
w   -f 查看使用来源
w   -i 显示IP
 last 查看使用过并退出的用户信息
  lastb 试图登陆但没成功的用户

1)w  ##查看正在使用当前系统的用户(信息都在/run/utmp里)

2)w -i   ##显示IP(信息都在/run/utmp里)

3)w -f  ##查看使用来源(信息都在/run/utmp里)

4)last  ##查看使用过并退出的用户信息(信息都在/var/log/wtmp里)

5)lastb  ##试图登陆但没成功的用户(信息都在/var/log/btmp里)

猜你喜欢

转载自blog.csdn.net/weixin_41975471/article/details/86501198