码中飞翔 2019-06-26
今天发现有人对我的阿里云服务器进行了攻击,虽然自己使用了强密码 但感觉还是有点不放心,决定限制只能通过密钥访问,并更换ssh连接端口
首先是正常登陆 在服务器上制作密钥对,执行以下命令
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....
这一步操作在~/.ssh目录下操,作为了确保执行成功 先执行上面两个命令,设置文件权限。
chmod 600 authorized_keys chmod 700 ~/.ssh cat id_rsa.pub >> authorized_keys <== 安装公钥
RSAAuthentication yes PubkeyAuthentication yes PermitRootLogin yes <==root能否通过ssh登录
重启ssh服务
service sshd restart
将私钥文件 id_rsa 通过FTP等方式下载到本地机器上,测试密钥登录是否成功,推荐使用Xshell。
登录成功后回到sshd_config文件,设置禁用密码登陆!
PasswordAuthentication no
小心保管好私钥文件,这将是你连接服务器的唯一凭据!
还是修改 /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关闭掉。
大功告成,新年快乐咯!