跳到主要内容

Linux设置秘钥登录和修改SSH端口

创建用户(可选)

# 假设需要使用秘钥登录的用户是admin,先创建用户,如果使用root登录,此步忽略
[root@localhost /]$ useradd admin

生成秘钥对

进入用户目录下

[admin@localhost ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_rsa): # 秘钥保存位置
Enter passphrase (empty for no passphrase): # 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: # 同上
Your identification has been saved in /home/admin/.ssh/id_rsa.
Your public key has been saved in /home/admin/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:f6+tdLxfEjRwtyc9pCB36MtcnTbN4cx/b7w3sKoS7AQ admin@localhost
The key's randomart image is:
+---[RSA 2048]----+
| . oo....|
| o.ooo+.|
| . .O+*|
| E . o @=|
| o S o o o o|
| + . + o .o|
| o . . o *.+|
| o o = +*|
| ....+o++=|
+----[SHA256]-----+

创建authorized_keys

# 进入文件夹查看
[admin@localhost ~]$ cd /home/admin/.ssh/
[admin@localhost .ssh]$ ll
total 12
-rw------- 1 admin admin 1679 Nov 25 02:13 id_rsa
-rw-r--r-- 1 admin admin 398 Nov 25 02:13 id_rsa.pub
[admin@localhost .ssh]$ cat id_rsa.pub >> authorized_keys
# 设置文件权限
[admin@localhost .ssh]$ chmod 600 authorized_keys
[admin@localhost .ssh]$ chmod 700 ~/.ssh

修改SSH配置文件

切换回root用户,修改/etc/ssh/sshd_config文件,AuthorizedKeysFile追加/home/admin/.ssh/authorized_keys

AuthorizedKeysFile  .ssh/authorized_keys  /home/admin/.ssh/authorized_keys

重启ssh

[root@localhost ssh]# systemctl restart sshd

验证没问题后,修改/etc/ssh/sshd_config文件

# 禁用密码登录
PasswordAuthentication no
# 禁止root用户登录,可选,如果是用root用户登录的话
PermitRootLogin no
# 修改默认端口,防止恶意扫描
Port 55022