centos ssh 登录限制 centos打开ssh
大家好,今天来为大家解答centos ssh 登录限制这个问题的一些问题点,包括centos打开ssh也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
Centos配置SSH并禁止密码登录
CentOS8 SSH配置:密钥登录与密码禁用
SSH,即Secure Shell,是一种用于加密远程登录的安全协议。它提供了两种级别的认证,但本文将重点介绍如何在CentOS8上配置SSH以采用密钥方式进行安全登录,并禁用密码登录。
步骤一:密钥认证配置
首要任务是安装并启用基于密钥的认证。具体操作包括:
在服务器端生成并安装公钥。
检查SSH配置文件,确保设置正确。
将服务器的.id_rsa文件下载到本地电脑,使用Putty工具。由于Putty需要.ppk格式,需将其转换。首先保存文件,然后使用Putty的密钥生成器转换私钥。
完成转换后,客户端登录时只需输入用户名,无需密码即可。
步骤二:禁用密码登录
出于安全考虑,你可能希望禁用密码登录。这可以通过修改SSH配置文件来实现。具体步骤是:
设置SSH服务器,使得密码登录尝试将被提示失败。
确保更改后的设置生效。
完成以上步骤后,你的CentOS8系统将只接受密钥认证,提高了网络连接的安全性。
Centos下限制SSH登录次数详解
应公司内部网站等级测评的需求,正逐渐加强系统安全防护。
设备默认 3次验证失败自动退出,并且结束会话;网络登录连接超时自动退出时间 5分钟;
第一种方法:已验证。
1.ssh超时时间设置
# cd/etc/profile.d/#创建两个空白文件autologout.csh、autologout.sh用来保存TMOUT配置
# touch autologout.csh
# touch autologout.sh
# vi autologout.sh#编辑autologout.sh
#auto out in 5 minutes
TMOUT=300#超时时间,单位为s
readonly TMOUT#设置TMOUT变量只读
export TMOUT#设置环境TMOUT
# vi autologout.csh#编辑autologout.csh
set-r autologout 2
# chmod+x autologout.*#可执行权限,其实单给u+x就行了。
断开Client,重新登录终端5分钟不使用ssh就会自动断开连接.
2.ssh认证次数限制:
/etc/ssh/sshd_config
MaxAuthTries=3这仅是超过3次验证错误断开连接。
第二种方法:(试验中还是有问题出现)
原理:通过系统的pam认证实现。
1.备份/etc/pam.d/system_auth文件,更改:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_unix.so nullok try_first_pass将原来的sufficient改为required
#auth requisite pam_succeed_if.so uid>= 500 quiet注释掉此行
auth required pam_tally.so deny=3unlock_time=300增加一行,失败超过3次限制5分钟后登录
#auth required pam_deny.so注释掉此行
account required pam_unix.so
account sufficient pam_succeed_if.so uid<500 quiet
account required pam_permit.so
account required pam_tally2.so增加一行
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
2.建议sshtest帐户,进行密码错误登录验证。查看tail/var/log/secure|grep sshtest记录:
Feb 22 15:21:11 SN524 sshd[4900]: Failed password for sshtest from 192.168.40.130 port 53995 ssh2
Feb 22 15:21:17 SN524 sshd[4900]: pam_tally(sshd:auth): user sshtest(503) tally 7, deny 3
Feb 22 07:21:19 SN524 sshd[4903]: Disconnecting: Too many authentication failures for sshtest
Feb 22 15:21:19 SN524 sshd[4900]: Failed password for sshtest from 192.168.40.130 port 53995 ssh2
Feb 22 15:22:05 SN524 sshd[4906]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.40.130 user=sshtest
帐户已被锁住,无法登录,等待5分钟后才能重新登录.
3.限制SSH过期时间:
/etc/ssh/sshd_config
ClientAliveInterval 60
ClientAliveCountMax 60
linux怎么限制用户ssh登录允许sftp登录
在linux中出于安全的需要,我们会禁止某些用户SSH登陆系统进行操作。我这里以centos操作系统为例记录下如何进行处理。
1、打开sshd的配置文件
vi/etc/ssh/sshd_config2、修改该配置文件,增加或修改如下行
#禁止用户user1登陆,多个空格分隔DenyUsers user1#禁止用户组group1的所有用户登录,多个空格分隔DenyGroups group13、保存配置后,重启sshd
/etc/rc.d/init.d/sshd restart完成上面的配置后,就可以禁止用户或用户组的用户进行登录了,第2步中的两个是可以只填一个的,可以根据需要进行调整。配置完毕后,在其他linux机器上使用如下命令进行测试:
#使用ssh测试[root@ServerA~]# ssh user1@192.168.1.168user1@192.168.1.168's password: Permission denied, please try again.#使用sftp测试[root@ServerA~]# sftp user1@192.168.1.168user1@192.168.1.168's password: Permission denied, please try again.可以看到,确实被系统禁止了,从而也就完成了我们想要的控制了。但这个有一个缺陷是,无法禁止只允许sftp而不允许ssh,如果要这样做,估计只能够单独搭建ftp服务器,比如vsftp,后续再考虑这个。