年初的时候,自己使用Shadowsocks和Bandwagon搭建了一个SS梯子,顺畅无比。前段时间登上KiviVM一看,我的VPS居然被Suspend了,原因是遭遇DDos共计,我的VPS一直向外发送请求。
又是改密码,又是改ip的,统统不行。终于没有浪费最后一次机会,Install A New OS,这下没问题了。(三次失败就被ban一年)
一、使用SSH证书密钥登录
ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式。其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到linux/unix的方法。
使用密钥登录分为3步:
- 1、生成密钥(公钥与私钥);
- 2、放置公钥(Public Key)到服务器~/.ssh/authorized_key文件中;
- 3、配置ssh客户端使用密钥登录。
- 4、修改
sshd_config
配置
1) 生成密钥公钥(Public key)与私钥(Private Key)
打开Xshell,tools
--> User Key Generation Wizard...
(密钥生成向导)
--> Key Type
--> DSA
公钥加密算法,Key Length
选择为“1024”位密钥长度.
--> Next
,等待密钥生成, --> Key Name
中输入Key的文件名称,例如id_dsa_1024_sherlocky
; --> Passphrase
处输入一个密码用于加密私钥,并再次输入密码确认.
--> Next
,密钥生成完毕(Public key Format
选择SSH2-OpenSSH
格式),这里显示的是公钥,我们可以复制公钥然后再保存,也可以直接保存公钥到文件,私钥这里不显示,可以在User Key Mangager...
导出到文件.
--> Save as file...
,将公钥(Public key)保存到磁盘,文件名为id_dsa_1024_sherlocky.pub
,备用。
2) 上传公钥(Public Key)到服务器
使用到Xshell登录到服务器,进入到/root/.ssh/
目录,将id_dsa_1024_sherlocky.pub
发送到服务器,然后运行如下命令,将公钥(Public Key)导入到authorized_keys
文件:
cd /root/.ssh/
cat id_dsa_1024_sherlocky.pub >> authorized_keys
chmod 600 authorized_keys #修改文件的权限,否则可能会遇到问题
cat authorized_keys
3) 配置Xshell使用密钥认证方式登录到服务器
打开Xshell,--> New
--> Authentication
切换到认证栏目,
--> Method
选择Public Key
认证,用户名输入root
(公钥是放在root目录下的.ssh文件夹中),
--> User Key
中选择我们刚才生成的私钥id_dsa_1024_sherlocky
,Passphrase
中输入私钥的加密密码 。。。
4) 修改sshd_config
配置
为了系统安全着想,要关闭密码认证的方式,还要及时更改ssh
端口为非默认端口,同时仅允许证书登录。
vim /etc/ssh/sshd_config
修改下面几处:
PubkeyAuthentication yes #启用PublicKey认证
AuthorizedKeysFile .ssh/authorized_keys #PublicKey文件路径
PasswordAuthentication no #不使用密码认证登录
二、配置iptabls
可以安装fail2ban
来防止暴力破解SSH,要仔细设置iptables
,只允许80 443 53
端口的通信.
附上xudshen的iptables
设置。
本文转自xudshen's blog,有一些改动。
评论区