centos ssh 安全 centos 8
这篇文章给大家聊聊关于centos ssh 安全,以及centos 8对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
...密钥连接Linux防止远程22端口密码爆破(以centos7为例)
使用ssh密钥连接Linux防止远程22端口密码爆破(以centos7为例)
解决远程ssh爆破问题,封禁IP是方法之一,更安全的策略是采用ssh密钥登录。下面是两种实现方法。
首先,利用Shell脚本定时监控ip登录失败次数,一旦达到预设阈值,将其加入黑名单。示例代码如下:
编写一个定时执行的脚本,定期检查登录失败记录,对于频繁尝试的ip进行封禁。
接着,进行密钥登录的设置:
在Linux端,确保安装了ssh服务,可使用命令`yum install openssh-server`和`yum-y install sshpass`进行安装。
在Windows端,需要安装ssh免密登录的工具,如Putty或Xshell等。
在Windows上生成私钥,使用命令`ssh-keygen`,设置文件名、密码(可选),最后使用`scp`命令将公钥文件`id_rsa.pub`复制到Linux的`/root/.ssh/authorized_keys`目录中。
在Linux侧,需确保`/root/.ssh`目录权限为700,`authorized_keys`文件权限为600,以保护密钥安全。
在`/etc/ssh/sshd_config`文件中,设置允许密钥登录,通常默认已启用,无需手动修改。
重启sshd服务,完成密钥登录配置。
关闭ssh密码登录,避免被破解,可通过宝塔控制面板或修改配置文件`/etc/ssh/sshd_config`,将`PasswordAuthentication yes`更改为`PasswordAuthentication no`,然后重启sshd服务。
重启后,尝试使用非密钥登录的账户,应无法登录。使用已生成私钥的账户进行登录,能够顺利完成。
使用ssh密钥连接Linux,不仅避免了密码爆破风险,还能提供更安全的远程访问方式。
Centos配置SSH并禁止密码登录
CentOS8 SSH配置:密钥登录与密码禁用
SSH,即Secure Shell,是一种用于加密远程登录的安全协议。它提供了两种级别的认证,但本文将重点介绍如何在CentOS8上配置SSH以采用密钥方式进行安全登录,并禁用密码登录。
步骤一:密钥认证配置
首要任务是安装并启用基于密钥的认证。具体操作包括:
在服务器端生成并安装公钥。
检查SSH配置文件,确保设置正确。
将服务器的.id_rsa文件下载到本地电脑,使用Putty工具。由于Putty需要.ppk格式,需将其转换。首先保存文件,然后使用Putty的密钥生成器转换私钥。
完成转换后,客户端登录时只需输入用户名,无需密码即可。
步骤二:禁用密码登录
出于安全考虑,你可能希望禁用密码登录。这可以通过修改SSH配置文件来实现。具体步骤是:
设置SSH服务器,使得密码登录尝试将被提示失败。
确保更改后的设置生效。
完成以上步骤后,你的CentOS8系统将只接受密钥认证,提高了网络连接的安全性。
Centos7SSH密钥登陆及密码密钥双重验证详解
一、首先登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录,以下我以root为例,命令:
su root
cd~
二、创建钥匙,命令:ssh-keygen-t rsa,一路按Y搞定
三、按照流程走完后会在~/.ssh目录下(用户所在家目录下的.ssh目录)看到id_rsa, id_rsa.pub文件第一个是私有密钥第二个是公共密钥
四、修改SSH配置文件,命令:vim/etc/ssh/sshd_config
#禁用root账户登录,如果是用root用户登录请开启
PermitRootLogin yes
#是否让 sshd去检查用户家目录或相关档案的权限数据,
#这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
#例如使用者的~.ssh/权限设错时,某些特殊情况下会不许用户登入
StrictModes no
#是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
#至于自制的公钥数据就放置于用户家目录下的.ssh/authorized_keys内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile.ssh/authorized_keys
#有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no
五、因为在第四步指定了AuthorizedKeysFile的放置位置为.ssh/authorized_keys,所以还需把公钥数据id_rsa.pub附加到 authorized_keys这个档案内才行,命令:
cd~/.ssh
cat id_ras.pub>> authorized_keys
重启SSH服务,命令:systemctl restart sshd.service
六、下载私钥,这里我使用了rz/sz工具(你也可以使用其他方式),系统默认没有安装,先安装,命令:yum-y install lrzsz
SecureCRT配置:选项→会话选项→X/Y/Zmodem,修改上传和下载的目录。
现在开始下载,命令:
cd~/.ssh
sz id_ras
然后到你之前配置的下载目录去找,把私钥导入到SecurtCRT,方法:
选项→会话选项→SSH2,在鉴权一栏中点击公钥(注意因为前面已经禁用了密码登陆,我们还得把密码这一栏的勾去掉,否则会无法登陆),点属性,点击使用会话公钥设置,然后在下方的使用身份或证书文件中,选择你刚才下载来的私钥文件,点确定即可。
七、以上所有配置完成,看网上别的教程还说要注意各文件权限问题,我做实验的过程没有遇到,也可能我使用的是root用户的原因,如果你们在过程中有权限报错,建议权限设置:
~/.ssh/ 700
.ssh/authorized_keys 644
.ssh/id_rsa 600且属于你当前要添加的用户
八、让服务器更安全,开启密码和证书双重验证,先修改SSH配置文件:
vim/etc/ssh/sshd_config
PasswordAuthentication改为yes
然后再加一条:uthenticationMethods publickey,password
重启SSH服务:systemctl restart sshd.service
SecureCRT配置:因为之前在第六步中把密码去掉了,还得把它再勾起来,选项→会话选项→SSH2,把密码这一栏勾起来即可。
个人经验:在配置完成后不要关闭当前SecurtCRT的连接窗口,你可以使用新建连接尝试登陆,以免配置出错,造成服务器无法登陆。