实验环境
本地 MacOS 10.14.4远程服务器
- CentOS 7.5 64位
- Firewalld
本地命令前缀 [admin@MacBookPro]$
服务器命令前缀 [A@CentOS]$
最近在建站后,发现不到2天我的小破站就有600次ssh远程登录的尝试。心中不免一阵寒意,为了解决这个问题特地读取了ssh官方的文档,对网站的ssh登录进行了一些措施。
首先要了解 SSH免密登录
的原理,免密登录需要使用 ssh 的非对称加密方式,登录无需密码,但是需要携带秘钥。本地若想登录到远程服务器,首先要在本地生成一对秘钥文件,使用 ssh-keygen
命令生成的秘钥对通常是这样的两个文件:
id_rsa id_rsa.pub
非对称秘钥对分为公钥和私钥两个文件,后缀名带有 .pub
的是公钥。对于你自己生成的秘钥对来说,私钥是不可外泄的,而公钥要上传到指定服务器的 ~/.ssh/authorized_keys
文件中以实现免密登录。
1. 涉及的操作
- 非root用户的创建
- ssh默认端口(22)的修改
- ssh密码登录的禁止
- 证书生成和下载
2. 非root用户的创建 以A为例
[root@CentOS]$ useradd -m A
[root@CentOS]$ passwd A
# 键入你的密码两次
[root@CentOS]$ su A
# 键入你的密码转为用户A
[A@CentOS]$ cd ~
# 进入用户A的主目录
经过这些步骤,就会创建一个名为A的用户,并切换到用户A的主目录下
3. ssh登录端口的修改
在 root
用户下
[root@CentOS]$ vim /etc/ssh/sshd_config
# 修改
# Port 22
# 为你想要的合法端口,比如
# Port 1111
# 保存并退出
[root@Cent