一、SSH修改默认端口
默认情况下,SSH使用22端口。为了安全,一般情况下都会修改默认端口。
修改/etc/ssh/ssh_config
文件内容。
找到Port
,把原来的22修改成想要的端口,一般修改后的端口比较大。
注意:修改之后必须重新启动SSH服务
二、SSH设置PGP登录
默认情况下,SSH使用用户名和密码进行远程登录。但也可以使用密钥对进行身份验证登录(公钥和私钥)。
这里我就使用xshell生成密钥
Xshell生成密钥
打开Xshell,在菜单栏点击“工具”,在弹出的菜单中选择“新建用户密钥生成向导”,如下图:
弹出“弹出用户密钥生成向导”对话框,在“密钥类型”项选择“RSA”公钥加密算法,“密钥长度”选择为“2048”位密钥长度,如下图:(默认就行)
继续下一步,在“密钥名称”中输入Key的文件名称,我这里为“id_rea_2048”;在“密码”处输入一个密码用于加密私钥,并再次输入密码确认,如下图:(会有一个默认的密钥名称,可修改)
- 点击“下一步”,密钥生成完毕(公钥格式选择SSH2-OpenSSH格式),这里显示的是公钥,我们可以复制公钥然后再保存,也可以直接保存公钥到文件,如下图。
- 把生成好的文件拷贝到Linux服务器的
/home/xianren/.ssh
文件夹中(用户名每个人都不一样),切换到此目录,使用命令
cat id_rsa_2048.pub >> authorized_keys
把里面的内容拷贝到authorized_keys文件中
然后设置拥有者可读写,其他人不可读写执行
chmod 600 authorized_keys
如下图:
配置Xshell使用密钥认证方式登录到服务器:
- 打开Xshell,点击“新建”按钮,弹出“新建会话”对话框,在“连接”栏目中,输入刚刚配置好公钥(Public Key)的IP地址和端口,如下图所示:
- 点击左侧的“用户身份验证”,切换到认证栏目,在“方法”选择“Public Key”认证,用户名输入“xianren”(公钥是放在xianren目录下的.ssh文件夹中),在“用户密钥”中选择我们刚才生成的私钥“id_rsa_8192”,“密码”中输入私钥的加密密码。
三、SSH防御暴力破解用户账号
为了系统安全着想,关闭密码认证的方式!
在Linux下可以配置不能使用用户名和密码登录,只使用SSH PGP方式验证登录。规避了SSH暴力破解。
sudo vim /etc/ssh/sshd_config #修改下面几处
PubkeyAuthentication yes #启用PublicKey认证
AuthorizedKeysFile .ssh/authorized_keys #PublicKey文件路径
PasswordAuthentication no #不适用密码认证登录
上面配置完成后,需要重启sshd服务。
至此,登录测试吧!你会发现输入完用户,密码一栏是灰色的!
登录成功,配置完成!
禁用密码登录,使用密钥登录是推荐的方式!
四、Iptables设置阀值防止暴力破解
利用iptables对多次连接验证错误,进行账户锁定3600秒(自定义)。
sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
利用iptables对3次连接验证错误,进行账户锁定3600秒(自定义)。
sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 3600 --hitcount 3 -j DROP
在设置完成后,需要重新启动ssh服务。
这里我就没做了。。。
版权声明:本文为qq_37278418原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。