linux中sshd服务

1. sshd简介

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

客户端软件 sshd
连接方式:

ssh  username@ip     ##文本模式的连接
ssh -X username@ip   ##可以在连接成功后开启图形

注意:第一次链接陌生主机是要建立认证文件,所以会询问是否建立,需要输入yes
再次连接此台主机时,因为已经生成了~/ssh./know_hosts文件,所以不需要再次输入yes
linux中sshd服务_第1张图片
linux中sshd服务_第2张图片
linux中sshd服务_第3张图片

远程复制:

scp file root@ip:dir      ##上传
scp root@ip:file dir      ##下载

2.sshd的key认证

ssh key加密 (服务端)
这个实验需要在纯净的环境下进行,如果以前做过这个实验要rm -rf /root/.ssh/*
linux中sshd服务_第4张图片
1.在服务端设置公钥

ssh-keygen 

linux中sshd服务_第5张图片
非交互界面

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

linux中sshd服务_第6张图片
2.生成密钥 公钥(上锁) —> 私钥 (开锁)

ls /root/.ssh    ##检查服务端是否生成密钥

在这里插入图片描述
3.给服务器上锁 (服务端)

 ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]     ####服务器上锁

linux中sshd服务_第7张图片
检查服务器是否加密成功

 ls /root/.ssh/

在这里插入图片描述
更改配置文件(78行)

vim /etc/ssh/sshd_config   ###关闭原始认证,禁止客户端输入密码的权限 78行   yes--->no

linux中sshd服务_第8张图片
重启服务

systemctl restart sshd.service

4.发送密钥到客户端 (在服务端操作)

scp /root/.ssh/id_rsa [email protected]:/root/.ssh/      ###将钥匙发送到客户端

linux中sshd服务_第9张图片

5.测试(客户端查看)

ssh [email protected]   ####是否可以免密连接到服务器
ls -l /root/.ssh/     ####检查密钥是否传输到客户端

cd /root/.ssh/
cat id_rsa.pub   ###在客户端和服务端分别查看密钥是否一样

linux中sshd服务_第10张图片
linux中sshd服务_第11张图片

3.sshd的安全设定:78 (服务器设定)

限制高级用户登陆(48行)

  48  PermitRootLogin yes/no    ##是否允许root用户通过sshd服务认证

用户黑名单 DenyUsers westos

53  DenyUser  student   ##设定用户黑名单,黑名单出现默认不在名单中的用户可以使用sshd

用户的白名单AllowUsers student(只允许该用户登陆)

52  AllowUsers student    ##设定用户白名单,白名单出现默认不在名单中的用户不能使用sshd

###student用户需要在服务端建立, 用的是服务端的资源
注意:@前的用户名是服务端的

4.添加sshd登陆信息的设定 (在服务器设定)

vim /etc/motd      ##设定登陆信息提示,文件内容就是登陆界面显示的信息

linux中sshd服务_第12张图片
linux中sshd服务_第13张图片

5. 登陆审计 (在服务器查看)

 w  ##查看正在使用当前系统的用户
 w -f  ##查看使用来源
 w -i  ##显示ip  可以在服务器使用kill -9 ip 结束客户端使用的用户

/var/run/utmp ##信息都储存在这个文件里
linux中sshd服务_第14张图片
2.last 查看使用过并退出的用户
/var/log/wtmp
linux中sshd服务_第15张图片
3.lastb 试图登陆但没有成功的用户
/var/log/btmp
在这里插入图片描述

你可能感兴趣的:(liunx)