linux下的sshd 服务

sshd

SSH为Secure Shell的缩写,是应用层的安全协议。SSH是目前较可靠,专为远程登陆会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。

客户端连接方式
ssh 用户名@ip #连接该ip地址指定的主机 无图形连接
ssh -X 用户名@ip # 带图形连接该ip地址指定的主机(cheese打开摄像头)

###第一次连接陌生主机是要建立认证文件,所以提示是否建立,输入yes, 文件名称~/.ssh/know_hoses

1 真机连接俩个虚拟机

1 查看真机的ip地址 ip addr show br0
在这里插入图片描述
虚拟机中设置主机ip

nm-connection-editor ——>打开设置界面

删除之前的网络ip 新建一个ip 172.25.254.102
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ip addr show eth0 #查看eth0 ip地址
在这里插入图片描述

修改主机名称

hostnamectl set-hostname 新名称 #在需要修改名名称的主机中使用该该令,对主机名称进行修改。
在这里插入图片描述
主机连接虚拟机操作
在这里插入图片描述
) 必须保证服务端的sshd服务进程开启,才能成功连接,要是该服务进程关闭,则无法连接。

用命令 systemctl status sshd
在这里插入图片描述

3)当使用客户端主机成功连接服务端主机之后,所进行的所有操作都属于服务端主机,例如创建文件:

在这里插入图片描述

远程复制文件

scp  file   用户名@ip:dir    #上传 将当前主机文件上传到指定ip主机的指定目录中
scp 用户名@ip:file  dir    #下载  将ip指定的主机中的指定文件file下载到当前主机dir目录中

在这里插入图片描述

五 sshd 的key认证 (以超级用户root进行说明)
服务器为了限制客户端对其的连接 ,可以增加sshd的key认证。
1 生成 认证 KEY #可以在任何主机上生成。

1.生成公钥私钥

ssh-keygen ##生成公钥私钥工具
ls /root/.ssh/
id_rsa ##私钥,就是钥匙
id_rsa.pub ##公钥,就是锁

在这里插入图片描述

2.添加key认证方式(服务端也就是被访问的一方)

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
ssh-copy-id ##添加key认证方式的工具

-i ##指定加密key文件

/root/.ssh/id_rsa.pub ##加密key

root ##加密用户为root

@172.25.254.102 ##被加密主机ip

3.分发钥匙给客户端(访问端)

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

4.测试

ssh [email protected] ##通过id_rsa直接连接不用输入用户密码

ssh-copy-id -i /root/.ssh/id_ras.pub root@ip(服务器ip) #该ip为服务器ip设定限制访问的ip
远程主机(由上述ip决定)生成 root/ .ssh/authorized_keys文件。
在这里插入图片描述
使用key认证连接主机不需要输入密码
在这里插入图片描述
5 取消使用输入密码连接服务器主机连接方式。
需要对服务器远程主机中的 /etc/ssh/sshd_config 该文件进行修改 ,修改后需重新启动sshd服务才能生效。

重启服务:systemctl reload sshd

vim /etc/ssh/sshd_config #使用vim打开该文件进行修改

1修改该文件78行的 yes为 no 表示取消使用输入密码进行连接的这种方式。 

在这里插入图片描述
更改默认登陆方式后没有密钥的主机无法登陆;有密钥的主机可以登陆。

如果将服务器主机 root/.ssh/authorized_keys 文件删除,则所有主机,都无法连接。需要再次连接,只需要再次在服务器中生成/root/.ssh/authorized_keys 文件即可。做到限制别人对自己的连接。

再次生成认证文件恢复 scp -p /root.ssh/id_rea.pub /root/.ssh/authorized_keeys

在这里插入图片描述
在这里插入图片描述

提升openssh的安全级别

1.openssh-server配置文件

vim /etc/ssh/sshd_config

78 PasswordAuthentication yes|no ##是否开启用户密码认证,yes为支持no为关闭
48 PermitRootLogin yes|no ##是否允许超级用户登录
49 AllowUsers   用户名字(白名单用户登陆)

##用户白名单,只有在名单出现的用户可以使用sshd建立shell
 DenyUsers    用户名        ##用户黑名单(指定用户不能登陆)

注意 : 黑白用户名单不能同时添加使用时注释吊一个

vim /etc/hosts.deny sshd:ALL ##拒绝所有人连接接sshd服务

添加sshd登陆信息

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

在这里插入图片描述

w #查看当前正在使用当前系统的用户`
在这里插入图片描述
w -i #查看当前时用该系统的来源ip
在这里插入图片描述
并且w 该命令查看的信息均存储在/var/run/utmp 中,如果对该文件内容进行删除,则不显示当前使用该系统的用户信息。
在这里插入图片描述
last 该命令查看的信息均存储在/var/log/wtmp 中,如果对该文件内容进行删除,则不显示成功登陆并退出的用户信息。

lastb该命令查看的信息均存储在/var/log/btmp 中,如果对该文件内容进行删除,则不显示试图登陆该系统但是没有成功的用户信息。

猜你喜欢

转载自blog.csdn.net/weixin_44818720/article/details/89008997