修改SSH端口与设置密钥验证登陆

2022年05月04日 · 默认分类 · 技术分享 · 640次阅读

本教程在CentOS7下编写,如您是其他版本的系统请注意

修改SSH端口:

[root@localhost ~]# vi /etc/ssh/sshd_config

进去之后按i可以进行修改,上下左右键可以移动光标。
然后修改里面的Port 22,22设置为自己想要的端口(如果前面有井号记得把井号删除掉)。
然后保存退出:

按一下esc之后按下 :wq 回车保存退出。

然后重启一下ssh服务:

[root@localhost ~]# systemctl restart sshd


生成的密钥和公钥记得保存好

设置密钥验证登陆:
首先在本地电脑上生成一个密钥(可以使用PuTTYgen或是Xshell生成),然后开始下一步;
创建一下存放公钥的目录并创建存放公钥的文件:

[root@localhost ~]# mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys

然后修改刚才创建的那个文件(就是把你生成的公钥给放进去):

[root@localhost ~]# vi ~/.ssh/authorized_keys

进去之后按i可以进行修改,上下左右键可以移动光标。
粘贴好了之后记得保存退出(按一下esc之后按下:wq回车保存退出。)
然后修改目录和文件权限:

[root@localhost ~]# chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys

然后修改配置文件,这里的目的是启用密钥认证功能:

[root@localhost ~]# vi /etc/ssh/sshd_config

然后修改里面的PubkeyAuthentication,如果PubkeyAuthentication后面的参数是yes那就不用管,如果不是yes记得修改为yes。如(如果前面有井号记得把井号删除掉):

PubkeyAuthentication yes

然后保存退出:

按一下esc之后按下:wq回车保存退出。

然后重启一下ssh服务:

[root@localhost ~]# systemctl restart sshd

然后你就可以使用密钥验证登陆服务器了。
你还可以设置一下仅允许密钥验证登陆服务器,只需要把/etc/ssh/sshd_config里面的PasswordAuthentication的参数设置为no就行了(如果前面有井号记得把井号删除掉):

[root@localhost ~]# vi /etc/ssh/sshd_config

 

PasswordAuthentication no

 

[root@localhost ~]# systemctl restart sshd

标签:none

最后编辑于:2022-05-04 22:21

留言

  1. 2022-06-04 19:45

    密钥登录贼方便,就是不太方便管理,所以我一直没更新

  2. 2022-08-31 10:08

    感谢分享,赞一个

  3. 小菜鸟 小菜鸟
    2022-10-14 20:45

    ssh 学y习y了d,谢t谢3分享!