更改Linux默认端口,并设置仅允许密钥登录

接上一篇文章,更改Linux默认端口,防止被恶意扫描

为了服务器安全。我们接着搞

上步骤:

一:首先运行Xshell5来生成密钥。如图:

一直如图操作:

密码自行决定是否设置,推荐默认。

到这里,务必选择保存公钥文件,待会要传到服务器上。

打开你保存的公钥文件,复制一份。

到了上代码的时候了:

#!/bin/bash #更改ssh连接端口并开启密钥登陆工具 rm $0 echo "请输入新的SSH端口:" read ss echo "您输入的端口为$ss,确认请回车,否则请ctrl+c退出" read ps #请使用xshell生成公钥来替换下面的AAAA-LW8=这段密钥。 mkdir -p /root/.ssh && chmod 600 /root/.ssh && echo ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA0Hg0M/p9GwdPGnQ+WopKygVxv9UOv243USfI02WuR+Jop1imyfmMdhzNoRM3r2CtObm56tHhcY7HrOGuA3eQiNQQYA6MgPEhwoB268MtFDhXttMXBHVCSRzOEIslo5TZTAIXnCZL8XXFUKDXqcuLwtA3XuupBdK36JeUoW9ALW8= > /root/.ssh/authorized_keys && chmod 700 /root/.ssh/authorized_keys cp /etc/ssh/sshd_config /etc/ssh/sshd_config1 sed -i "s/#Port 22/Port $ss/g" /etc/ssh/sshd_config sed -i "s/#AuthorizedKeysFile/AuthorizedKeysFile/g" /etc/ssh/sshd_config sed -i "s/#PasswordAuthentication yes/PasswordAuthentication no/g" /etc/ssh/sshd_config sed -i "s/PasswordAuthentication yes/PasswordAuthentication no/g" /etc/ssh/sshd_config iptables -I INPUT -p tcp -m tcp --dport 23 -j ACCEPT iptables-save service sshd restart echo "请不要急着退出终端,请重新连接一个终端确认是否成功,如果不成功,请执行以下操作" echo "rm /etc/ssh/sshd_config;mv /etc/ssh/sshd_config1 /etc/ssh/sshd_config;service sshd restart"

代码里面记得需要修改的就是

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA0Hg0M/p9GwdPGnQ+WopKygVxv9UOv243USfI02WuR+Jop1imyfmMdhzNoRM3r2CtObm56tHhcY7HrOGuA3eQiNQQYA6MgPEhwoB268MtFDhXttMXBHVCSRzOEIslo5TZTAIXnCZL8XXFUKDXqcuLwtA3XuupBdK36JeUoW9ALW8=

把这部分用刚刚复制的代码来替换,因为这是我的公钥,然后把上面的脚本保存为文件,在服务器上执行,再去测试,如果有问题,按照里面的提示恢复。

测试过大部分机器,如果不通过,请检查下防火墙是否开放端口,如果嫌麻烦,可以不更改端口,依然使用22端口。

有问题欢迎与我讨论,对于Putty的密钥来说,百度搜一下,key转pub就行。

» 本文链接:更改Linux默认端口,并设置仅允许密钥登录 » 转载请注明来源:刺客博客

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

Linux系统下的ssh使用(依据个人经验总结)

对于linux运维工作者而言,使用ssh远程远程服务器是再熟悉不过的了!对于ssh的一些严格设置也关系到服务器的安全维护,今天在此,就本人工作中使用ssh的经验...

83070
来自专栏顶级程序员

记一次惊心的网站TCP队列问题排查经历

此时问题已经影响到整个网站的正常业务,我的那个心惊的呀,最主要报警系统没有任何报警,服务运行一切正常,瞬时背上的汗已经出来了。但还是要静心,来仔细寻找蛛丝马迹,...

12520
来自专栏主机笔记

软件给win10快速断网

在使用电脑中一些特殊的情况下,需要我们断开网络,一般情况下就是把无线网断开或者网线拔掉就可以了,但是有时候主机的位置很小拔网线不是很方便这时候就需要用windo...

59880
来自专栏小狼的世界

Kubernetes基础:编排调度的那些Controllers

Kubernetes提供了很多Controller资源来管理、调度Pod,包括Replication Controller、ReplicaSet、Deploym...

19020
来自专栏linux运维学习

linux学习第六十二篇:添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理

添加自定义监控项目 需求:监控某台web的80端口连接数,并出图 两步:1)zabbix监控中心创建监控项目;2)针对该监控项目以图形展现 对于第一步,需要到客...

330100
来自专栏linux系统运维

原 添加自定义监控项目,配置邮件告警,测

21530
来自专栏前端萌媛的成长之路

一波webpack

20640
来自专栏破晓之歌

webpack项目初始化和基于模块的脚手架搭建

http://localhost:8088/dist/view/index.html

12610
来自专栏Java编程技术

Java网络编程基础篇

网络通讯在系统交互中是必不可少的一部分,无论是面试还是工作中都是绕不过去的一部分,本节我们来谈谈Java网络编程中的一些知识,本chat内容如下:

55710
来自专栏用户2442861的专栏

non-blocking I/O Multiplexing + poll/epoll 的正确使用

在前面的文章中曾经粗略讲过poll,那时是用阻塞IO实现,在发送和接收数据量都较小情况下和网络状况良好的情况下是基本没有问题的,read 不会只接收部分数据,...

14320

扫码关注云+社区

领取腾讯云代金券