sshd服务及命令

本文详细介绍了sshd服务,包括其概念、实验环境、连接方式(文本和图形模式)、远程文件传输、免密操作设置、安全设定(如PasswordAuthentication、PermitRootLogin、黑白名单)以及用户登录审计和如何踢出远程进程。内容覆盖了SSH的多个实用方面,对于远程服务器管理具有指导意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、sshd服务及其命令

1、什么是sshd服务

  • 客户端主机通过网络在服务端主机中开启服务端主机shell的服务,通过网络连接服务端,并且控制服务端,也就是客户端开启了服务端的shell。
  • ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于,前者是针对客户端的配置文件,后者则是针对服务端的配置文件
  • SSH(安全外壳协议): Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。
    几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

2、实验环境

  • 此时验是在两台虚拟机中操作,server为服务端,desktop为客户端

(1)nm-connection-editor 配置客户端及服务端 ip
(2)ifconfigip addr show eth0 查看客户端及服务端 ip
(3)hostnamectl set-hostname server.westos.com 更改服务端主机名称 ,hostnamectl set-hostname client.westos.com 更改客户端主机名称。
(4)客户端shell底色为白色,服务端为黑色。
在这里插入图片描述

3、连接方式

3.1 开启文本建立的连接方式

sshd username@ip | 客户端连接服务端且可以操作服务端文本模式功能

  • username为被连接的主机的存在的任意用户,ip是被连接的主机的地址

(1) 客户端rm -fr /root/.ssh 删除之前的认证文件 /root/.ssh
(2)客户端主机中输入: ssh root@172.25.254.225(server主机的ip)客户端主机连接服务端主机

  • 若第一次连接的话会问yes或者no–>输入yes,然后让输入密码:server主机的密码,然后exit退出,曾连接过后,则会直接输入密码登录。 第一次连接陌生主机的时候需要建立认证文件( ~/.ssh/know_hosts 文件),所以会询问是否建立,输入yes即可.再次连接次台主机的时候,由于已经生成~/.ssh/know_hosts文件,因此不需要再次输入yes.

(3)客户端操作打开服务端的文本编辑模式
在这里插入图片描述

3.2 开启对方的图形编辑模式的连接方式(gedit 、firefox等)

sshd -X username@ip | 客户端连接服务端且可以操作服务端图形模式功能

(1) 客户端rm -fr /root/.ssh 删除之前的认证文件 /root/.ssh
(2)客户端主机中输入: ssh -X root@172.25.254.225(server主机的ip)客户端主机连接服务端主机
(3) 在客户端输入gedit就可以控制服务端的图形编辑模式了

在这里插入图片描述

4、远程文件传输

  • 不需要客户端主机控制服务端主机,仅知道对方的ip及存在的帐号和密码就可以进行上传和下载
4.1 上传

scp file root@ip:dir | 上传

  • 地址必须是绝对路径

(1) 在客户端建立5个文件 touch file{1…5}
(2)在客户端主机中输入 scp /root/Desktop/file{1…5} root@172.25.254.225 : /root/Desktop/ ,文件从客户端上传到服务端

在这里插入图片描述

4.2 下载

scp root@ip:file dir | 下载

(1) 在服务端建立3个文件 touch file{1…3}
(2)在服务端主机中输入 scp root@172.25.254.225 : /root/Desktop/file{1…3} /root/Desktop/ ,文件从服务端下载到客户端

在这里插入图片描述

5、sshd服务的免密操作

如果客户端知道服务端主机的ip地址和密码,就可以远程操控服务端,若任意客户端知道服务端主机的ip地址和密码,并且知道重要文件存放路径,那么就可拷贝服务端的文件,这样的操作在实际企业当中非常不安全

5.1 免密操作的设置

ssh-keygen | 生成密钥

(1) 服务端输入 ssh-keygen ,生成钥匙和密码 , id_rsa是钥匙 ,id_rsa.pub是锁

  • 在服务端输入 ssh-keygen 三次回车 ,第一次回车是钥匙和密码存放路径(可以直接回车,存放在默认路径下),第二次回车是密码(可以直接回车,不设置密码),第三次回车也是密码(可以直接回车,不设置密码)

在这里插入图片描述

(2) 服务端输入:ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.225 先给自己上锁即给服务端上锁
(3)服务端输入:scp /root/.ssh/id_rsa root@172.25.254.125:/root/.ssh/ 将密码传给客户端

  • 客户端/root/.ssh/的这个文件(目录)必须存在 ,相当于上传。若客户端没有/root/.ssh/文件,客户端使用密码方式重新连接一次服务端,会生成该文件,就可以将锁传给客户端。在这里插入图片描述

(4)在客户端查看密钥,且登录验证。
在这里插入图片描述

6、sshd的安全设定

  • 因为服务端的root权限太大,客户端如果使用服务端的root权限极不安全,为了保证ssh服务器的安全性:服务端开放的权限不能太多,一般不让客户端主机用服务端主机的超级用户root。
6.1 常用的安全设定
安全设定含义
/etc/ssh/sshd_config的第78行 PasswordAuthentication yes/no是否允许服务端的任意一个存在的用户通过登陆系统的密码做sshd的认证
/etc/ssh/sshd_config的第48行 PermitRootLogin yes/no是否允许服务端的root用户通过sshd的服务
加入AllowUesrs 用户名设定用户的白名单,此名单内的用户可以做sshd服务 (文件里不存在 直接输入即可 多个用户用空格隔开)
加入DenyUsers 用户名设定用户的黑名单,此名单内的用户不可以做sshd服务
  • 每次改完一个参数重启才会起作用:在服务端 systemctl restart sshd.service
6.2 PasswordAuthentication yes/no

(1)服务端**vim /etc/ssh/sshd_config** 更改第78行 PasswordAuthentication no 不允许服务端的任意一个存在的用户通过登陆系统的密码做sshd的认证

在这里插入图片描述
(2)在服务端 systemctl restart sshd.service 重启sshd
(3)在客户端远程连接服务端 ssh leo@172.25.254.225 可以看到客户端不能试密码连接服务端
(4)验证完之后改为最初始的yes
在这里插入图片描述

6.3 PermitRootLogin yes/no

(1)服务端**vim /etc/ssh/sshd_config** 更改第48行 PermitRootLogin no 禁止超级用户登陆 ,限制超级用户使用root身份来登陆ssh,默认为yes更改为no
(2)在服务端 systemctl restart sshd.service 重启sshd
(3)在客户端远程连接服务端 ssh root@172.25.254.225 可以看到客户端超级用户不能试密码连接服务端可以试密码,但是输入正确的密码也会报错
(4)验证完之后改为最初始的yes

在这里插入图片描述

6.4 白名单

(1)服务端**vim /etc/ssh/sshd_config** 在58行添加**AllowUesrs tom lee**设定用户的黑名单,此名单里面的用户可以做sshd服务

  • 服务端不存在用户直接输入即可生成此错误观点, 多个用户用空格隔开,若写入服务端本身不存在的用户,那么当客户端连接服务端的时需要密码就不知道是什么,因此必须先在服务端建立实验用户并且设置实验用户的密码,这样在客户端连接的时候才能看到实验效果

在这里插入图片描述

(2)在服务端 systemctl restart sshd.service 重启sshd
(3)在客户端远程连接服务端 ssh 用户@172.25.254.225 可以看到客户端可以试密码连接服务端
(4)验证完之后改为最初始的yes

6.4 黑名单

(1)服务端**vim /etc/ssh/sshd_config** 添加**DenyUesrs tom lee**设定用户的白名单,此名单里面的用户不可以做sshd服务
(2)在服务端 systemctl restart sshd.service 重启sshd
(3)在客户端远程连接服务端 ssh 用户 @172.25.254.225 可以看到客户端不可以试密码连接服务端
(4)验证完之后改为最初始的yes

在这里插入图片描述

7、用户登录信息

  • 为了使客户端在连接服务端的时候可以直观的看到服务端的相关信息,因此要添加信息

vim /etc/motd 文件内容 在服务端的 /etc/motd 文件里编辑服务端的一些信息,即登陆后显示的信息

(1)在服务端vim /etc/motd编辑该文件,添加信息,不用重启服务

在这里插入图片描述

(2)客户端连接服务端,显示登陆信息

在这里插入图片描述

8. 用户的登录审计

  • 在服务端里查看使用服务端的客户端的相关信息
8.1 常用的审计命令
命令含义
w查看正在使用当前系统的用户
w -i显示正在连接我的主机的ip
w -f查看使用的客户端来源,显示主机名等信息
last查看使用过并且退出的用户信息
lastb试图登陆但没成功的用户

(1)W及w -i、 w -f
在这里插入图片描述

(2)last 查看使用过并且退出的用户信息

在这里插入图片描述

(3)lastb 试图登陆但没成功的用户

在这里插入图片描述

9. 如何踢出别人正在我的主机上进行的进程

(1)用desktop主机远程连接server主机
(2)在server主机上用w -i查看他的ip(显示当前正在控制你的主机的ip)
(3)查看他的进程的id 使用 **ps aux | grep pts/1(**进程名字在tty下面)
(4)kill -9 11776,然后再查看是否结束了他的进程

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值