[Tips] Linux ssh 基于密钥文件免密登陆

  1. 服务端生成密钥文件
ssh-keygen -m PEM -t rsa -b 2048 -v -f mbp16_lgy -C "$(whoami)@$(hostname)-$(date -I)"

命令说明:
-m : key_format, 密钥的格式
-t:加密算法,有dsa ecdsa ed25519 rsa rsa1
-b:bits,加密位数
-v:打印详细输出
-f: 输出文件
-C:添加密钥对的说明comment。

  1. 重命名私钥
mv mbp16_lgy mbp16_lgy.pem
  1. 将公钥内容写入authorized_keys
cat ~/mbp16_lgy.pub >> ~/.ssh/authorized_keys

公钥可以删除了。

  1. 编辑/etc/ssh/sshd_config
    确保里面:
RSAAuthentication yes
PubkeyAuthentication yes

#下面这个如果是不注释的,那么文件要与公钥写入的文件一致
#AuthorizedKeysFile     %h/.ssh/authorized_keys

如有修改,需要重启ssh服务:

sudo service sshd restart
  1. 将pem私钥下载到本地
    在客户端机器上
scp -P 端口号 用户名@服务HOST:~/mbp16_lgy.pem ~/.ssh
chmod 700 ~/.ssh/mbp16_lgy.pem
  1. 编辑.ssh/config
    添加
Host alias别名
  HostName HOST域名或IP
  User 用户名
  Port 端口
  IdentityFile ~/.ssh/mbp16_lgy.pem
posted @   虚无真仙  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示