Linux系统中Openssh服务的部署及安全优化

本文介绍了如何在Linux系统中部署OpenSSH服务器,包括安装openssh-server、配置文件sshd_config的设置,以及客户端连接方式。同时,文章详细讲解了sshkey加密的步骤,以及如何通过配置提升OpenSSH的安全级别,例如限制用户密码认证和超级用户登录。最后,讨论了如何控制ssh客户端访问和优化ssh登陆提示。

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

一.openssh-server

OpenSSH是SSH协议的免费开源软件
功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell
软件安装名称:openssh-server
配置文件: /etc/ssh/sshd_conf
默认端口: 22
客户端命令: ssh

ssh命令

-l 	  指定登陆用户

在这里插入图片描述

-X  开启图形

在这里插入图片描述

-p  指定端口

在这里插入图片描述

-f   后台运行

在这里插入图片描述

-t  指定连接跳板

在这里插入图片描述

-o  指定连接参数
-i 	  指定密钥

二.客户端连接方式

ssh  远程主机用户@远程主机ip
ssh root@172.25.77.117

可以在server虚拟机桌面下touch file,发现可以建立。但是gedit file2时发现报错。
在这里插入图片描述

ssh 远程主机用户@远程主机ip -X		##调用远程主机图形工具
ssh root@172.25.77.117

在这里插入图片描述

ssh  远程主机用户@远程主机ip  command	 ##直接在远程主机运行某条命令
ssh root@172.25.77.117 date

在这里插入图片描述

三.sshkey加密

1.生成公钥私钥

ssh-keygen 		##生成公钥私钥工具
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):[enter] 	##加密字符保存文件(建议用默认)
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 		[enter]		##密钥密码,必须>4个字符
Enter same passphrase again: 				[enter]		##确认密码
ls /root/.ssh/
id_rsa  id_rsa.pub
id_rsa		##私钥,就是钥匙
id_rsa.pub	##公钥,就是锁

在这里插入图片描述
2.添加key认证方式

ssh-copy-id -i /root/.ssh/id_rsa.pub  root@172.25.254.117
ssh-copy-id		##添加key认证方式的工具
-i			##指定加密key文件
/root/.ssh/id_rsa.pub	##加密key
root			##加密用户为root
172.25.25.117		##被加密主机ip

在这里插入图片描述
3.分发钥匙给client主机

scp /root/.ssh/id_rsa root@172.25.254.217:/root/.ssh/	

在这里插入图片描述
4.测试

ssh root@172.25.254.117		##通过id_rsa直接连接不需要输入用户密码

在这里插入图片描述

四.提升openssh的安全级别

1.openssh-server配置文件

/etc/ssh/sshd_config
78 PasswordAuthentication yes|no		##是否开启用户密码认证,yes为支持no为关闭
48 PermitRootLogin yes|no			##是否允许超级用户登陆
49 AllowUsers student westos			##用户白名单,只有在名单中出现的用户可以使用sshd建立shell
50 DenyUsers westos				##用户黑名单

练习:
在server虚拟机上 vim /etc/ssh/sshd_config

78 PasswordAuthentication no		##关闭用户密码认证
systemctl restart sshd.service          ##重启sshd服务

在这里插入图片描述
在这里插入图片描述
在Desktop虚拟机上以student身份(因为student身份是无钥匙的)
su - student
ssh root@172.25.77.117 会显示Permission denied,因为Desktop虚拟机上student身份无钥匙,并且server虚拟机关闭了用户密码认证。
在这里插入图片描述
在server虚拟机上 vim /etc/ssh/sshd_config

48 PermitRootLogin no                ##不允许超级用户登陆
78 PasswordAuthentication yes		##开启用户密码认证
systemctl restart sshd.service          ##重启sshd服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在Desktop虚拟机上以student身份(因为student身份是无钥匙的)
su - student
ssh root@172.25.77.117 会让你输root密码
然后会显示Permission denied,因为不允许server虚拟机的用户以超户的身份登陆Desktop虚拟机
在这里插入图片描述
在server虚拟机上 vim /etc/ssh/sshd_config

78 PasswordAuthentication no		##关闭用户密码认证
48 PermitRootLogin no                ##不允许超级用户登陆

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果既不允许超级用户登陆又关闭用户密码认证,不会让你输入密码,直接显示Permission denied,看不出效果。
在这里插入图片描述
2.控制ssh客户端访问

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

客户端访问时无法链接sshd服务
在这里插入图片描述

vim /etc/hosts.allow
sshd:172.25.254.250	##允许250主机链接sshd
sshd:172.25.254.250, 172.25.254.180	##允许250和180链接
sshd:ALL EXCEPT 172.25.254.200		##只不允许200链接sshd

3.ssh登陆提示修改该

vim /etc/motd		##显示登陆后字符
hello linux!		##在登陆后就会显示这个字符

客户端登陆时显示hello linux!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值