1、ip限制
从网络来的数据包首先要经过iptables,所以可以在iptables上面加上规则来限制ip的访问
打算用
/etc/hosts.deny
/etc/hosts.allow
比如只限制3个外网,1个内网IP连接
怎么写哦?
解决办法:
直接在/etc/hosts.deny里面加一行
sshd: ALL EXCEPT xxx.xxx.xxx.xxx(允许的ip或网段)
sshd: ALL EXCEPT xxx.xxx.xxx.xxx/255.255.255.0(允许的网段) 就可以了.
要注意网段的书写格式
上面是TCP Wrappers的过滤机制,它由tcpd程序控制,有点类似TCP包的检验程序,这个程序的主要参数文件在/etc/hosts.allow及 /etc/hosts/hosts.deny两个文件中,必须要某个软件支持tcpd(TCP Wrappers)的功能才能接受TCP Wrappers的校验。
数据包的校验顺序首先是/etc/hosts.allow,然后才是/etc/hosts/hosts.deny。所以我们通常的设置方法是:在 /etc/hosts/hosts.allow里针对某些服务与数据包来源开启它们的使用权限;在/etc/hosts/hosts.deny里将该服务 的其它来源过滤掉。
注意:如果您在/etc/hosts/hosts.allow里没有设置,那么TCP Wrappers默认的动作是allow(通过校验并进入主机)。
简单的语法如下:
<服务名称>:
特别注意:其中“服务名称”其实就是程序文件名,比如telnet程序的服务名称是“in.etlnetd”、ssh的是“sshd”;network可以使用192.168.0.0/255.255.255.0,但不可以使用192.168.0.0/24。
针对楼主的需求,我认为/etc/hosts.allow应该这样写:
sshd: 192.168.0.0/255.255.255.0,202.101.73.0/255.255.255.0,202.101.74.0/255.255.255.0,202.101.75.0/255.255.255.0
在/etc/hosts.deny里写上:
sshd: ALL
PS:上面的IP是我假想而来,第一个代表内网,后面3个代表外网,应用时,换成你的实际IP即可。
最后还有点补充的是,个人认为数据包进入主机的第一道关卡应该是iptables,第二道才是TCP Wrappers,如果已经越过iptables,说明已登入你的主机了,下一步只是通过TCP Wrappers来进行TCP包校验,那么如果这个支持TCP Wrappers功能的程序有漏洞,结果是什么不用我说了吧。所以而是先从iptables进行限制,把TCP Wrappers作为个补充应该更安全些。
2、限制用户登录
vi /etc/sshd_config
在最后一行加入一行,me 为指定的用户
AllowUsers me
重启SSH
如果是多个用户的话:AllowUsers A B C
注意中间是空格,而不是分号
3、指定尝试密码次数
vi /etc/sshd_config
修必
MaxAuthTries 3
将默认的值改掉即可 Fedora 默认可以允许做3次尝试
重启SSH
防止ssh登录后闲置时间过长而断开连接
因为工作环境就是在linux下,需要登录到服务器上,而当键盘、鼠标闲置时间过长的时候往往会被服务器给自动断开,前面做的一些事情就被打断了,这样就很麻烦,所以得想办法来防止被服务器给踢出来。
一种方法是修改服务器段,在/etc/ssh/sshd_config里配置ClientAliveCountMax,以分为单位,默认是3分钟,即闲置3分钟就会被自动断开,可以修改时间长一点,比如30分钟:
ClientAliveCountMax=30
另一种方法比较通用,原理就是模拟键盘动作,在闲置时间之内模拟地给个键盘响应,如下:
工具:expect
代码如下:
#!/usr/bin/expect
set timeout 60
spawn ssh user@host�0�2�0�2 interact {
timeout 300 {send "\x20"}
}
保存为文本文件xxx,然后用expect执行:
expect xxx
接着按提示输入密码就可以了,这样每隔300秒就会自动打一个空格(\x20),具体的时间间隔可以根据具体情况设置。
用这个还能解决乱码问题,比如服务器是用GB18030编码的,那只要把
spawn ssh user@host
换成
spawn luit -encoding GB18030 ssh user@host
其他的还有包括自动登录什么的,感兴趣的可以自己研究一下。
另外,如果是在windows下,则secureCRT就自带了反空闲的功能,打开选项->会话选项->终端,如图:
在发送字串的地方打个空格就可以了。
分享到:
相关推荐
Linux 限制 root SSH 登陆和限制 su Linux 操作系统中的 root 用户是系统管理员的默认用户名,拥有最高权限,可以访问和操作系统中的所有资源。但是,为了增强 Linux 系统的安全性,限制 root 用户的 SSH 登陆和...
"Linux下限制SSH登陆以及密码策略" 在 Linux 系统中,限制 SSH 登陆和设置密码策略是非常重要的安全措施。下面我们将详细介绍如何限制 SSH 远程 root 登陆和设置密码策略。 一、限制 SSH 远程 root 登陆 在 Linux...
这个"SSH.rar_SSH登陆_ssh_ssh登录界面"的压缩包文件内容可能包含了一组有关SSH登录界面的练习题或者教程,旨在帮助用户理解和掌握SSH的使用。 SSH的主要功能是加密网络通信,确保数据在传输过程中不被窃取或篡改。...
这个压缩包文件“SSH登陆实例文件和工程”显然包含了有关如何设置和使用SSH登陆的具体教程和示例。SSH的主要功能是加密网络通信,防止数据在传输过程中被窃取或篡改,尤其在管理远程服务器时,它提供了安全的身份...
6. SSH模拟登陆:在练习中,可能需要编写Java代码来模拟SSH登陆过程,包括建立连接、进行身份验证、执行远程命令等。这将涉及到JSch库的API调用和参数配置。 7. 错误处理和调试:在模拟登陆过程中,可能会遇到各种...
免密码SSH登陆不仅可以简化工作流程,还能避免因密码泄露带来的安全隐患。 值得注意的是,虽然SSH免密码登陆提供了便利,但也可能增加系统的安全性风险。因此,建议定期更换私钥,限制对SSH的访问,并确保只有可信...
以上操作可确保SSH服务不受防火墙限制。 #### 四、设置root用户密码 为了能够通过SSH使用root用户登录,还需要为root用户设置一个密码。 **1. 设置root用户密码** 运行以下命令设置root用户的密码: ``` sudo ...
同时,为了提高安全性,还需要定期更新SSH客户端和服务器软件,避免使用弱密码,并限制不必要的SSH访问。 总结起来,SSH2Login是SSH2协议在登录场景中的应用,它提供了安全的远程访问方式。通过理解其工作原理和...
7. **加强安全性**:为了提高SSH的安全性,可以禁用密码登录,只允许公钥认证,并限制可登录的用户。这些配置可以在`/etc/ssh/sshd_config`文件中进行。 8. **自动化脚本登录**:在自动化脚本中使用SSH,如监控或...
这篇教程将带你深入理解SSH的基本概念,并通过实例帮助你掌握如何实现SSH登陆。 首先,我们需要了解SSH的工作原理。SSH通过加密通信通道来保护用户的登录凭据,如用户名和密码,防止被嗅探或窃取。它还支持公钥认证...
根据提供的文档内容,可以看出这份文档主要涉及的是数据库...3. **使用防火墙限制访问** 可以通过配置防火墙规则只允许特定IP地址访问SSH服务。 以上就是关于SSH登录的一些基本知识点和高级用法,希望对你有所帮助。
在IT行业中,SSH(Secure Shell)是...通过掌握这些知识,你不仅能够安全地通过SSH登陆远程Mysql服务器,还能有效地管理和维护数据库,提高工作效率。记住,安全永远是第一位,所以在进行任何远程操作时都要谨慎处理。
- 使用防火墙限制SSH只接受特定IP或端口的连接。 - 定期更新SSH软件以修补已知漏洞。 7. **监控与日志**: - SSH服务会记录所有登录尝试,这些信息位于`/var/log/auth.log`或`/var/log/secure`(取决于操作系统...
为了增强SSH的安全性,应定期更新SSH软件,避免使用默认端口,限制只允许特定IP地址或用户登录,以及启用公钥认证并禁用密码登录。 总结,SSH是网络通信的重要安全工具,而在SSH框架下,Struts2、Spring3和...
### SSH登陆安全控制关键知识点详解 #### 一、SSH安全加固策略 SSH(Secure Shell)是一种网络协议,用于计算机之间的加密登录。为了提高安全性,以下是一些常见的SSH加固措施: 1. **创建临时用户**: 避免直接...
- 使用防火墙限制SSH的访问,只允许特定IP或范围内的地址连接。 - 配置SSH的DenyUsers和AllowUsers,精细化控制谁可以登录。 总的来说,SSH远程登陆工具是IT管理员和开发者的必备工具,它提供了安全、高效的远程...
对于"esm"这个文件,如果它是压缩包中的部分,可能是一个Java源码文件或者配置文件,具体内容可能包含了SSH登陆实现的细节。如果能提供更多的上下文信息,我们可以更深入地分析和讨论这个"esm"文件如何与SSH登陆实现...
这个"经典的SSH登陆小项目"很可能是针对初学者设计的,旨在教授如何使用SSH进行安全通信。SSH通常用于连接到远程服务器,执行命令、传输文件等。在这个项目中,可能包括了设置SSH服务器、配置用户认证以及实现安全的...
1. 配置SSH服务:在目标设备上启用SSH服务,并设置相应的安全参数,如最大连接数、超时限制、密码策略等。 2. 管理公钥/私钥对:生成或导入公钥/私钥对,将公钥分发到需要访问的设备,保留私钥在本地以供身份验证。 ...