阿里云linux服务器修改SSH连接端口并设置密钥登录

码中飞翔 2019-06-26

今天发现有人对我的阿里云服务器进行了攻击,虽然自己使用了强密码 但感觉还是有点不放心,决定限制只能通过密钥访问,并更换ssh连接端口
阿里云linux服务器修改SSH连接端口并设置密钥登录

1.生成密钥对

首先是正常登陆 在服务器上制作密钥对,执行以下命令

ssh-keygen -t rsa -C "[email protected]"     <==后面填写的是邮箱

首先提示的是密钥保存路径,此处可以直接Enter(默认/root/.ssh/文件下)。第二步和第三步是提示输入密钥锁码,我也直接Enter留空(当然为了私钥安全也可以输入密码)。
这样密钥对就生成成功了

Your identification has been saved in /root/.ssh/id_rsa. <== 私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公钥

查看公钥

cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCskragdQD1O3Ualmr+C....

2.在服务器上安装公钥

这一步操作在~/.ssh目录下操,作为了确保执行成功 先执行上面两个命令,设置文件权限。

chmod 600 authorized_keys
chmod 700 ~/.ssh
cat id_rsa.pub >> authorized_keys     <== 安装公钥

3.编辑 /etc/ssh/sshd_config 文件

RSAAuthentication yes
PubkeyAuthentication yes
PermitRootLogin yes   <==root能否通过ssh登录

重启ssh服务

service sshd restart

4.下载私钥文件

将私钥文件 id_rsa 通过FTP等方式下载到本地机器上,测试密钥登录是否成功,推荐使用Xshell。
登录成功后回到sshd_config文件,设置禁用密码登陆!

PasswordAuthentication no

小心保管好私钥文件,这将是你连接服务器的唯一凭据!

5.修改SSH端口

还是修改 /etc/ssh/sshd_config,找到Port 22,为稳妥起见,我们先是使用多个端口连接,比如在Port 22在下面添加一行:Port 25,就增加了一个新的连接端口25
重启SSH服务后测试ssh连接:

service sshd restart          <==重启SSH服务
ssh localhost -p 你的端口号    <==本机上测试ssh连接

如果本机测试没有问题,但还是不能使用第三房工具从外部SSH链接的话,需要关闭防火墙,重新启动一下SSHD。 这样就可以。
ssh多端口测试成功后就可以修改sshd_config文件或防火墙将Port 22关闭掉。
大功告成,新年快乐咯!

相关推荐