基于Debian11操作,其他发行版基本一致

生成密钥

ssh-keygen -t rsa

一路回车即可用

将公钥改名(可选)

mv id_rsa.pub authorized_keys

生成的文件

会在用户目录(~)下生成.ssh文件夹,里面的id_rsa是私钥,id_rsa.pub是公钥

我们需要下载的文件是 id_rsa ,将文件下载或者复制密钥到本地

确保下文件权限是否正常,否则执行下面指令

chmod 600 authorized_keys
chmod 700 ~/.ssh

sshd配置

自行选择一款编辑器修改 /etc/ssh/sshd_config 文件,比对下方参数修改

PubkeyAuthentication yes # yes表示允许密钥登陆
AuthorizedKeysFile   .ssh/authorized_keys  # 指定密钥的文件位置
PasswordAuthentication no # 禁止密码登陆
Port 22 # 建议把默认的22端口改了
PermitRootLogin no # 禁止root用户登陆
DenyUsers xxx # 禁止xxx的用户ssh登录

修改完配置文件后重启sshd服务

systemctl restart sshd

注意事项

修改完配置文件后不要关闭当前的ssh连接,重新开一个ssh连接查看是否正常,否则错误的配置会导致无法进行ssh