修改SSH连接端口并设置密钥登录

2018-02-12 10:46:19来源:segmentfault作者:众神开挂人点击

分享

今天发现有人对我的阿里云服务器进行了攻击,虽然自己使用了强密码 但感觉还是有点不放心,决定限制只能通过密钥访问,并更换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关闭掉。
大功告成,新年快乐咯!

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台