赞
踩
默认情况下,SSH使用22端口。为了安全,一般情况下都会修改默认端口。
修改/etc/ssh/ssh_config
文件内容。
找到Port
,把原来的22修改成想要的端口,一般修改后的端口比较大。
注意:修改之后必须重新启动SSH服务
默认情况下,SSH使用用户名和密码进行远程登录。但也可以使用密钥对进行身份验证登录(公钥和私钥)。
这里我就使用xshell生成密钥
打开Xshell,在菜单栏点击“工具”,在弹出的菜单中选择“新建用户密钥生成向导”,如下图:
弹出“弹出用户密钥生成向导”对话框,在“密钥类型”项选择“RSA”公钥加密算法,“密钥长度”选择为“2048”位密钥长度,如下图:(默认就行)
继续下一步,在“密钥名称”中输入Key的文件名称,我这里为“id_rea_2048”;在“密码”处输入一个密码用于加密私钥,并再次输入密码确认,如下图:(会有一个默认的密钥名称,可修改)
/home/xianren/.ssh
文件夹中(用户名每个人都不一样),切换到此目录,使用命令cat id_rsa_2048.pub >> authorized_keys
把里面的内容拷贝到authorized_keys文件中
然后设置拥有者可读写,其他人不可读写执行
chmod 600 authorized_keys
如下图:
在Linux下可以配置不能使用用户名和密码登录,只使用SSH PGP方式验证登录。规避了SSH暴力破解。
sudo vim /etc/ssh/sshd_config #修改下面几处
PubkeyAuthentication yes #启用PublicKey认证
AuthorizedKeysFile .ssh/authorized_keys #PublicKey文件路径
PasswordAuthentication no #不适用密码认证登录
上面配置完成后,需要重启sshd服务。
至此,登录测试吧!你会发现输入完用户,密码一栏是灰色的!
登录成功,配置完成!
禁用密码登录,使用密钥登录是推荐的方式!
利用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服务。
这里我就没做了。。。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。