- 制作公钥
创建公钥我们要使用到 ssh-keygen
#命令格式
ssh-keygen -m PEM -t rsa -b 4096 -f ~/.ssh/filename
参数说明:
-m 参数指定密钥的格式,PEM(也就是RSA格式)是以前使用的旧格式,很多ssh客户端都用这个格式。
-t:指定要建立的密钥类型
-b:指定密钥长度
-f:指定用来保存密钥的文件名 (~/.ssh/filename)
配置过程:
pi@raspberrypi400: ssh-keygen -m PEM -t rsa -b 4096 -f ~/.ssh/Rpi400.pem
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): < 输入公钥密码
Enter same passphrase again: < 再次输入公钥密码
Your identification has been saved in /home/pi/.ssh/Rpi400.pem
Your public key has been saved in /home/pi/.ssh/Rpi400.pem.pub
The key fingerprint is:
SHA256:/ugJzv8c7MYu/cvk3Wf6bkKAzWAxWfFjwSJ9nuIBtUw pi@raspberrypi400
The key's randomart image is:
+---[RSA 4096]----+
| o*Eo. |
| *+ooo. |
| . Bo++. |
| . *.o. |
| S . + |
| . . . . |
| . .oo .. |
| o ..*+= ...+|
| oo==*.=.oB=|
+----[SHA256]-----+
公钥成功创建,文件所在位置:/home/pi/.ssh/
- 安装公钥
完成公钥的安装后,为确保连接成功,文件权限也要确保配置正确。
cd .ssh
cat Rpi400.pem.pub >> authorized_keys
chmod 600 authorized_keys
chmod 700 ~/.ssh
3.下载公钥
如果不知道怎么下载的可以先安装Lrzsz,lrzsz是一款在linux里可代替ftp上传和下载的程序。
sudo apt install lrasz -y
# 下载公钥文件
cd ~/.ssh
sz Rpi400.pem
4.修改SSH配置
sudo nano /etc/ssh/sshd_config
# 找到下面这行将注释符号 # 删除
# PubkeyAuthentication yes
Ctrl + O 回车保存
Ctrl + X 回车退出
重启ssh服务:
sudo service sshd restart
5.使用公钥登录
配置完后登录测试正常。
6.禁用ssh密码登录
如果您的设备暴露在公网上,当你完成全部设置,并以密钥方式登录成功后,可以禁用密码登录功能,加强其安全性防止ssh暴力破解:
sudo nano /etc/ssh/sshd_config
找到
#PasswordAuthentication yes
改为
PasswordAuthentication no
重启ssh服务:
sudo service sshd restart