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 中文手册

目录
相关文章
|
4月前
|
移动开发 监控 安全
通过SSH协议实现的屏幕局域网电脑监控:屏幕安全访问代码
随着科技的不断发展,网络安全问题愈发突出。为了确保屏幕数据的安全,我们需要一种高效可靠的监控方法。本文介绍了一种基于SSH协议的屏幕局域网电脑监控方案,同时提供了相关代码示例,确保屏幕数据的安全传输和访问。
242 0
|
1月前
|
存储 安全 网络安全
Git 安全远程访问:SSH 密钥对生成、添加和连接步骤解析
SSH(Secure Shell)是一种用于安全远程访问的协议,它提供了加密通信和身份验证机制。在使用 SSH 连接到远程 Git 存储库时,您可以使用 SSH 密钥对来确保安全性。以下是关于如何生成和使用 SSH 密钥对的详细步骤: 生成 SSH 密钥对
98 2
|
6月前
|
安全 Linux 网络安全
百度搜索:蓝易云 ,Linux Debian11服务器安装SSH,创建新用户并允许SSH远程登录,及SSH安全登录配置!
这些步骤提供了在Debian 11服务器上安装SSH,创建新用户并允许SSH远程登录以及进行SSH安全登录配置的指南。请确保按照步骤操作,并根据您的需求进行必要的修改。
100 0
|
2月前
|
安全 关系型数据库 MySQL
SSH -L:安全、便捷、无边界的网络通行证
SSH -L:安全、便捷、无边界的网络通行证
38 0
|
3月前
|
安全 Shell 网络安全
远程登录安全连接协议SSH(Secure Shell)
SSH(Secure Shell)协议是一种用于在不安全网络上提供安全远程登录、命令执行和数据传输的加密网络协议,通过公钥加密和身份验证技术确保通信的安全性和隐私性。
84 0
|
8月前
|
安全 网络协议 网络安全
【【安全知识】SSH远程登录方法详解】
SSH(Secure Shell)是一种安全的网络协议,用于远程登录和安全数据传输。在本文中,我们将详细介绍如何使用SSH进行远程登录。
728 0
|
8月前
|
安全 网络协议 Linux
Linux SSH:安全远程访问与管理
SSH(Secure Shell)是一种网络协议,广泛应用于Linux系统中,用于在不安全的网络中进行安全的远程访问和管理。SSH协议通过加密和身份认证机制,确保数据传输的安全性和用户身份的可靠性。本文将深入探讨Linux下的SSH协议,包括工作原理、配置、密钥认证、安全性措施以及实际应用等,帮助读者充分了解SSH的重要性,并学会在Linux系统中正确使用SSH实现安全远程访问和管理。
264 0
|
4月前
|
安全 网络安全 开发工具
更安全的ssh协议与Gui图形化界面使用
更安全的ssh协议与Gui图形化界面使用
|
4月前
|
网络安全
设定开机脚本自动链接ssh
设定开机脚本自动链接ssh
28 0
|
5月前
|
Ubuntu 安全 网络协议
如何在 Ubuntu 上启用 SSH,安全地远程管理和传输数据
如何在 Ubuntu 上启用 SSH,安全地远程管理和传输数据
179 0
如何在 Ubuntu 上启用 SSH,安全地远程管理和传输数据