ssh的一些安全设定

简介: ssh是我们日常工作中必不可少的工具,所以它的安全性也是异常重要了,这里笔者简单介绍了一些ssh配置中需要注意的几个点。 首先,作为root用户登录并备份原始文件,输入下面的命令: cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak 1、调整认证时限(默认单位为s),即当用户登录ssh之后,要求输入密码的时间限制,

ssh是我们日常工作中必不可少的工具,所以它的安全性也是异常重要了,这里笔者简单介绍了一些ssh配置中需要注意的几个点。

首先,作为root用户登录并备份原始文件,输入下面的命令:

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

1、调整认证时限(默认单位为s),即当用户登录ssh之后,要求输入密码的时间限制,规定时间没有输入则自动断线:

LoginGraceTime 60

2、最好限制root用户远程登录,修改如下:

PermitRootLogin no

3、关闭X11转发,防止额外的信息泄露

X11Forwarding no

4、取消以下两行的注释,使得登录后显示一些信息

PrintMotd yes
PrintLastLog yes

5、编辑/etc/motd文件,添加一些警告信息,如下

This computer system is for authorized users only. All activity
is logged and regularly checked. Individuals using this system
without authority or in excess of their authority are subject to
having all their services revoked...

6、关闭ssh闲置会话

ClientAliveInterval 60
ClientAliveCountMax 5
  • ClientAliveInterval设置表示如果超过这么长时间没有收到客户端的任何数据,将通过安全通道向客户端发送一个”alive”消息,并等候应答,单位默认为s。
  • ClientAliveCountMax表示在未收到任何客户端回应前最多允许发送多少个”alive”消息,这是设置5次

以上也就是客户端如果60*5=300s,即5分钟如果没有任何操作,则空闲连接会被强制断开,关闭时提示如下

Connection to x.x.x.x closed by remote host.
Connection to x.x.x.x closed.

7、开启TCPKeepAlive

TCPKeepAlive yes

TCPKeepAlive指定系统是否向客户端发送TCP keepalive消息,这种消息可以检测到死连接、连接不当关闭、客户端崩溃等异常,避免僵尸进程产生,推荐开启。

8、修改ssh默认端口22

Port xxxx    #自定义端口

9、设置允许登录的ssh用户

AllowUsers test1 test2 test3

也可以设置允许的组

AllowGroups admin

10、关闭不必要的认证

如果可以,只允许公钥认证,关闭其它认证方式

PasswordAuthentication no
ChallengeResponseAuthentication no

基本的一个设置就是以上的部分了内容了,还可以结合fail2ban更好的保护ssh的安全。关于fail2ban下次介绍,其实很多网友已经写了很多相关的博文了。

原文地址

原文参考链接:

sshd_config配置 详解

sshd_config 中文手册

目录
相关文章
|
5月前
|
移动开发 监控 安全
通过SSH协议实现的屏幕局域网电脑监控:屏幕安全访问代码
随着科技的不断发展,网络安全问题愈发突出。为了确保屏幕数据的安全,我们需要一种高效可靠的监控方法。本文介绍了一种基于SSH协议的屏幕局域网电脑监控方案,同时提供了相关代码示例,确保屏幕数据的安全传输和访问。
285 0
|
4月前
|
安全 数据挖掘 Shell
SSH安全远程登录与端口转发
**SSH 概述**:SSH 是开发者必备工具,用于安全远程登录及文件传输。本文聚焦SSH的两大功能:**密钥登录**和**端口转发**。
128 0
|
5月前
|
算法 安全 Shell
SSH:加密安全访问网络的革命性协议
SSH:加密安全访问网络的革命性协议
176 9
|
5月前
|
监控 安全 Linux
【专栏】Linux SSH 的安全对于远程管理至关重要,这几个小妙招安排上!
【4月更文挑战第28天】在数字化时代,Linux SSH 的安全对于远程管理至关重要。增强 SSH 安全包括:使用强密码,调整 SSH 配置文件,尤其是端口号和认证方式;采用密钥认证代替密码;限制登录用户,禁止密码登录;使用防火墙限制访问;定期更新系统和软件。此外,通过日志监控、入侵检测系统及及时应对攻击来提升安全监控。保持对安全知识的学习和更新,结合最佳实践,是保障 SSH 安全的关键。记得安全是个持续过程,时刻保持警惕!
136 1
|
2月前
|
存储 安全 测试技术
【超实用却暗藏杀机】sshpass:一键免密SSH登录的神器,为何生产环境却要敬而远之?探秘背后的安全隐患与替代方案!
【8月更文挑战第16天】sshpass 是一款便捷工具,可实现自动化SSH登录,简化脚本中的远程连接流程。通过后台自动处理密码输入,便于执行远程操作,如 `sshpass -p 'yourpassword' ssh user@remotehost`。也可结合更多SSH选项使用,例如指定私钥文件。然而,因需明文传递密码,存在较大安全隐患,不适于生产环境;推荐使用公钥认证以增强安全性。
87 4
|
2月前
|
安全 Linux 网络安全
在Linux中,如何配置SSH以确保远程连接的安全?
在Linux中,如何配置SSH以确保远程连接的安全?
|
2月前
|
存储 安全 Linux
说到Linux安全,SSH限制IP登录绕不开这3种方法!
说到Linux安全,SSH限制IP登录绕不开这3种方法!
|
5月前
|
安全 Linux 网络安全
SSH 简介:安全远程访问的利器
SSH是加密网络协议,用于安全远程登录和数据传输。它基于公钥和私钥验证,加密传输确保通信安全。默认使用22端口。在Linux和macOS系统上预装,Windows需额外安装。基本用法包括远程登录(ssh username@hostname)、文件传输(scp source destination)和端口转发。推荐使用密钥对认证,限制登录尝试次数,并配置SSH代理以增强安全性。了解这些基础和技巧能提升远程服务器管理和文件传输效率。
77 3
SSH 简介:安全远程访问的利器
|
4月前
|
存储 安全 Unix
【内网安全】Win&Linux&内存离线读取&Hashcat破解&RDP&SSH存储提取
【内网安全】Win&Linux&内存离线读取&Hashcat破解&RDP&SSH存储提取
|
4月前
|
网络协议 安全 Linux
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac