1.sshd简介
sshd=secure shell ##可以通过网络在主机中开机shell的服务
客户端软件:sshd
连接方式:
ssh username@ip ##文本模式的链接 ssh -X username@ip ##可以在链接成功后开启图形
注:第一次链接陌生主机要建立认证文件,会询问是否建立,输入yes。
第二次建立已经生成了~/.ssh/know_hosts文件所以不需要再次建立。

远程复制:
scp file root@ip:dir ##上传 scp root@ip:file dir ##下载

1.虚拟机与远程主机的连接
真机:] 打开shell,输入命令:ip addr show br0(在虚拟机里应为eth0) ##查看真机ip 可以通过命令:ping 虚拟机地址
观察是否连接成功。成功会出现数据在虚拟机真机之间往返所需时间。否则为连接失败。 虚拟机:
输入命令:`nm-connection-editor`,出现选框,删除后增加,选择创建,出现选框创建,出现Ethernet在Device MAC
address:选择默认选项
.IPv4设置,先选择方法为Manual,输入虚拟机IP号(虚拟机前3个段,最后一位为0-254,由于255号为广播地址,被占用所以不能使用),NETmask
设置为24 保存。 连接: 在虚拟机查看虚拟机ip,然后在真机上输入命令:ssh
虚拟机用户名@虚拟机ip,询问是否连接,连接后输入虚拟机中该用户的登陆密码,确定登陆,可以直接通过真机使用虚拟机。
在此例中虚拟机为服务器端为sshd软件,远程主机为客户端使用ssh软件。

2. 连接其他主机(由于实现环境下,只是使用了一台电脑,就用两台虚拟机模拟两台主机的互联):
其实方式与虚拟机与主机的链接类似。


证明主机172.25.71.111与主机172.25.71.222已经链接起来。
3.连接其他主机,生成RSA加密
由于如果有人知道了一个主机的ip地址,又恰好知道了其用户密码,那就可以任意的登陆到主机上,这是十分的不安全的。
所以可以通过加入RSA密码认证,更安全一些。至于链接方式:是先在服务器端生成一个RSA秘钥。
将生成的id-rsa.pub复制到生成主机上,在将生成的id-rsa密钥发送到另一台主机上。
这是另一台主机会直接链接本机,并且第一次需要输入密码,第二次链接就可以免密通信。 主机命令: ssh-keygen ##生成密钥流 ssh-copy-id
-i /root/.ssh/id_rsa.pub 用户名@本机主机地址 ##给本机加锁 scp /root/.ssh/id_rsa
用户名@另一主机地址:/root/.ssh/ ##分配密钥


注:此时若为第一次链接,是需要输入密码的,但第二次就可以实现免密通信。
4.修改配置文件,锁定用户权限。
如果这样把密钥分配给另一个主机,但只要另一个主机想要访问本机那么就一定可以访问,这也不符合本机需求,所以我们 需
要将这个权限放到自己手中可以将放到本机里的锁删除,所以即使有密钥也不能登陆也同时也限制密钥登陆将/etc/ssh/sshd_config的第78行下,将密码登陆的权限由yes改成了no,限制密码登陆。如果有需要的话,在加入锁,使有密钥的人免密登陆,或者直接修改配置文件权限,密码登陆。


但加上锁之后,就可以用密钥免密登陆。
5.sshd的安全设定
可以通过修改配置文件,来控制登陆服务器的用户以及登陆方式。来使服务更加安全。
命令如下: vim /etc/ssh/sshd_config ,修改以下行数: 78 PasswordAuthentication yes/no
##是否允许用户通过登陆系统密码做登陆 48 PermitRoolLogin yes/no ##是否允许超级用户通过sshd服务认证登陆 52
AllowUsers student westos ##设置用户白名单,不在白名单用户不可登陆 53 DenyUsers student westos
##设置用户黑名单,在黑名单用户不可登陆
注:登陆时所用的用户名时被连接主机的用户名,要分清楚使用的到底是哪一台主机的用户和密码。并且一旦设置了白名单/黑名单,超级用户若不在也不可登陆。
实现方法:vim修改配置文件,将配置文件进行修改。通过一台客户端机链接服务端(ssh 用户名@ip地址),但是需要注意链接语句中的用户时服务机上的用户。
修改是否允许用户登陆系统密码登陆将第78行中的no修改到yes:


设置用户白名单,westos在白名单student用户不可登陆:


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

7.用户登陆审计
w ##查看正在使用当前系统的用户 -f ##查看使用来源 -i ##显示ip 等同于查看 /var/run/utmp last 等同于查看
/var/log/wtmp ##查看使用并退出的用户信息 lastb 等同于查看 /var/log/btmp ##查看试图登陆却没成功的用户信息



系统权限控制:
systemctl ##服务器控制命令 systemctl status sshd(服务器名) ##查看服务器状态 systemctl start sshd
##开启服务 systemctl stop sshd ##关闭服务 systemctl restart sshd ##重启服务器 systemctl
reload sshd ##重载服务器(相当于信号1,在不关闭服务器情况下,对进程的文件进行重新加载) systemctl enable sshd
##设定服务器在开机时自启 systemctl disable sshd ##设定服务器在开机时不自启 systemctl list-units
##列出已经开启服务当过前状态 systemctl list-unit-files ##列出所有服务开机启动的状态(disable enable
static表示静态不会更改) systemctl list-dependencies ##列出服务的依赖(在使用该服务前必须存在并开启的进程)
systemctl set-default multi-user.target ##设定系统启动级别为多用户模式(无图形) systemctl
set-default graphical.target ##设定系统启动级别为图形模式 实验方法:前几条命令类似于虚拟机的启动,在设置重启时可以看




可以发现reload与restart的区别,经过reload,进程pid不变,所以证明并没有关闭进程而完成了系统配置文件的加载,但是restart则是将进程关闭,然后重启,进程pid自然发生变化。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信