sshd简介sshd= secure shell 可以通过网络在主机中开机shell的服务

连接方式: ssh username@ip ---> 文本模式的链接 ssh -X username@ip ---> 可以在链接成功后开机图形

注: 第一次链接陌生主机是要建立认证文件(~/.ssh/know_hosts) 所以会询问是否建立,需要输入yes 在次链接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes


实验具体操作:

sshd 的密钥认证实验 实验前提需两台虚拟机,一台服务端,一台客户端,改ip,主机名,删除 ~/.ssh 服务端 更改主机名为server.test.com 图形化命令设置网卡 删除现有网卡 添加新网卡,选择以太网

改连接名称为eht0,选择eht0网卡 设置ip为172.25.254.131,子网掩码为24位,save保存 生成新网卡 查看ip 删除 ~/.ssh下所有文件,实验需纯净环境

客户端 更改主机名为client.test.com 更改网卡同服务端方法一样,这里略过,设置ip为172.25.254.231子网掩码为24位

删除 ~/.ssh下所有文件,实验需纯净环境

1.生成认证KEY ——— 服务端 使用生成密钥命令指定密钥路径,指定密码为空 注 ---> id_rsa—私钥 与 id_rsa.pub—公钥 2.加密服务 ——— 服务端 使用加密命令指定加密密钥ip为172.25.254.131

注 ---> authorized_keys文件出现表示加密完成

3.分发钥匙 ——— 客户端 将本机的私钥远程拷贝给客户端的/root/.ssh/下

4.测试 ——— 客户端 免密远程登陆root@172.25.254.131

注 ---> 连接时发现直接登陆不需要root登陆系统的密码认证


实验具体操作: sshd的安全设置 vim /etc/ssh/sshd.conf 编辑ssh配置文件 配置 PasswordAuthentication yes|no ---> 是否允许用户通过登陆系统的密码做sshd的认证 服务端 搜索关键字 Password也可进入配置文件78行

更改PasswordAuthentication yes 为no

客户端测试 远程连接root@172.25.254.131,拒绝登陆

更改PermitRootLogin yes|no ---> 是否允许root用户通过sshd服务的认证 服务端 进入配置文件48行, PermitRootLogin no 更改为no 客户端连接root@172.25.254.131,拒绝登陆,连接lee@172.25.254.131,正常登陆

Allowusers ---> 设定用户白名单,白名单出现默认不再名单中的用户不能使用sshd 服务端 将用户tom lee 加入白名单在配置文件Allowusers里

客户端测试 远程连接tom@172.25.254.131连接成功 远程连接lee@172.25.254.131连接成功

远程连接root@172.25.254.131拒绝登陆

Denyusers ---> 设定用户黑名单,黑名单出现默认不再名单中的用户可以使用sshd 服务端 将用户 lee 加入黑名单在配置文件Denyusers里

客户端测试 远程连接lee@172.25.254.131,拒绝连接

远程连接tom@172.25.254.131,连接成功 远程连接root@172.25.254.131,连接成功

添加sshd登陆登陆信息 vim /etc/motd --- 文件内容就是登陆后显示的信息

用户的登陆审计

w --- 查看正在使用当前系统的用户 -f 查看使用来源 -i 显示IP

last --- 查看使用过并退出的用户信息

lastb --- 试图登陆但没成功的用户 -i配置文件 /var/run/utmp 用户登录、注销及系统开、关等事件 last 配置文件 /var/log/wtmp 当前登录用户详细信息 lastb 配置文件 /var/log/btmp 记录失败的的记录