系统远程调用服务

1.sshd简介
sshd=secure shell
可以通过网络在主机中开机shell的服务
客户端软件
sshd

连接方式:

	ssh	[email protected]	文本模式的链接
	ssh -X	[email protected]	可以在链接成功后开机图形
注意:
	第一次链接陌生主机是否要建立认证文件
	所以会询问是否建立,需要输入yes
	再次链接此台主机时,因为已经生成~/.ssh/know_hosts文件,所以不需要再次输入yes

远程复制:

	scp file [email protected]:dir	上传
	scp [email protected]:file dir	下载

本次实验会应用到两台虚拟机以及一台主机,一台虚拟机被设置为服务机,另一台则被设置为客户机
服务机的ip设置
系统远程调用服务

客户端ip设置
系统远程调用服务
登录

客户端通过ssh密码认证进入服务机,由于是第一次进入,所以要进行确认并输入密码系统远程调用服务

切换路径到桌面并创建file1到file1010个文件
系统远程调用服务
文件的上传,通过scp file [email protected]:dir命令格式将刚刚创建的十个文件上传给服务端(ip为172.25.254.70)
系统远程调用服务
上传完毕后客户端桌面如下所示。
系统远程调用服务
删除光桌面所有文件,然后下载服务端的file1-file5五个文件,结束后桌面如下所示。
系统远程调用服务

2.sshd的key认证(该加密方式为非对称加密,加密解密为不同密码,用来实现免密登录)
在实验之前,若之前进行过相似操作,则先删除/root/.ssh/下的文件

1.生成认证key
ssh-****** 生成**的命令

[[email protected] Desktop]# ssh-******		生成**的命令
Generating public/private rsa key pair.
Enter file in which to save the key (/home/kiosk/.ssh/id_rsa): 	指定保存加密的字符的文件(使用默认路径)
Enter passphrase (empty for no passphrase):                     设定密码(设置为空)
Enter same passphrase again: 					确认密码
Your identification has been saved in /home/kiosk/.ssh/id_rsa.	私钥
Your public key has been saved in /home/kiosk/.ssh/id_rsa.pub.	公钥

系统远程调用服务
可以直接指定路径与密码,不需要经过三次回车确认直接生成**,使用的也是默认路径,设置密码为空。

系统远程调用服务

在生成**后,查看/root/.ssh/目录下文件,查看**是否生成
系统远程调用服务
2.上传公钥

ssh-copy-id -i /root.ssh/id_rsa.pub [email protected]   改命令上传的对象为服务机自己

上传公钥并查看上锁是否成功
若出现“added”字样,则表示添加成功
系统远程调用服务
3.分发钥匙

scp /root/.ssh/id_rsa [email protected]       把自己的钥匙分发给自己想要分发的对象

在传递之前首先确认客户机是否有/root/.ssh这个文件,若没有则进行ssh连接命令,在输入“yes/no”时按“ctrl+c”取消,该目录会自己建立,可以看到在下面新建立的目录中什么文件都不存在。

系统远程调用服务
将自己的钥匙传给客户机
系统远程调用服务

查看客户机的/root/.ssh目录,可以看到分发的**id_rsa
系统远程调用服务
随后用客户端登陆服务器,看是否需要密码
可以看到,由于是第一次连接,我们需要对其进行确认,但在确认后并不需要输入密码,而后直接进入到服务器的界面,这表示免密登陆成功。

系统远程调用服务

3.sshd的安全设定

修改配置的文件在 /etc/ssh/sshd_config中
78 PasswordAuthentication		yes|no	是否允许用户通过登录系统的密码做sshd的认证
48 PermitRootLogin			yes|no	是否允许root用户通过sshd服务的认证
52 Allowusers student westos		设定用户白名单,白名单默认不再用户名单中的用户不能使用sshd
53 denyusers westos		设定用户黑名单,黑名单出现默认不再名单中的用户可以使用sshd

78 PasswordAuthentication yes|no 是否允许用户通过登录系统的密码做sshd的认证

使用命令vim /etc/ssh/sshd_config修改配置文件,修改78行PasswordAuthentication为no(之前为yes),表示不允许用户通过输入密码的方式来做sshd认证,在修改完之后需要重启sshd服务(每次对sshd的配置文件进行修改都需要重启sshd服务使服务生效)
系统远程调用服务
系统远程调用服务

不允许用户使用密码登陆认证(不给你式密码的权力),这样只有你分发钥匙的人才可以进来(免密登录)系统远程调用服务

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

在修改48行配置文件之前,先还原78行配置文件,然后再登陆服务机,发现可以登录了。

系统远程调用服务
系统远程调用服务

修改PermitRootLogin为no,之前为yes,并去除注释符号“#”然后重启sshd服务

系统远程调用服务

可以看到,即使输入正确的密码也无法进入服务机。(输入的密码为正确的密码),因为配置文件被我们修改,禁止root用户登入。

系统远程调用服务

进入不了root界面,但我们可以进入其他用户的界面。

系统远程调用服务

53 denyusers root		设定用户黑名单,黑名单出现默认不再名单中的用户可以使用sshd

还原48行配置文件并添加黑名单,黑名单用户为root

系统远程调用服务
系统远程调用服务

在设置黑名单后,我们进入root用户时,会无法进入。

系统远程调用服务

但我們依旧可以进入其他用户(student)

系统远程调用服务

52 Allowusers root	设定用户白名单,白名单默认不再用户名单中的用户不能使用sshd

去除黑名单,设置白名单为root,然后重启sshd
系统远程调用服务

退出student,然后再次登录student用户,发现无法进入,(白名单仅有root,所以只可以登录root用户)

系统远程调用服务
然后我们使用root用户登录,发现可以进入服务机

系统远程调用服务

4.添加sshd登陆登陆信息

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

使用vim /etc/mtod来编辑登录后显示的内容
系统远程调用服务

下次登陆时,我们所编辑的内容就会在登录上显示。
系统远程调用服务

5.用户的登陆审计
1.last
last查看的信息都存储在/var/log/wtmp下

系统远程调用服务

2.lastb
lastb中的信息都存在/var/log/btmp下

系统远程调用服务
3.w

w -f 	查看使用来源
w -i	显示ip

w显示的信息都在/var/run/utmp下
使用w命令查看用户来源与ip
系统远程调用服务
如何主动断开别人的连接

使用w -i查看来源ip,然后查找该任务的进程,最后用kill命令杀死该进程,连接就会断开啦。
系统远程调用服务
可以看到连接关闭了。

系统远程调用服务