[Tips] Linux ssh 基于密钥文件免密登陆
- 服务端生成密钥文件
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。
- 重命名私钥
mv mbp16_lgy mbp16_lgy.pem
- 将公钥内容写入authorized_keys
cat ~/mbp16_lgy.pub >> ~/.ssh/authorized_keys
公钥可以删除了。
- 编辑/etc/ssh/sshd_config
确保里面:
RSAAuthentication yes
PubkeyAuthentication yes
#下面这个如果是不注释的,那么文件要与公钥写入的文件一致
#AuthorizedKeysFile %h/.ssh/authorized_keys
如有修改,需要重启ssh服务:
sudo service sshd restart
- 将pem私钥下载到本地
在客户端机器上
scp -P 端口号 用户名@服务HOST:~/mbp16_lgy.pem ~/.ssh
chmod 700 ~/.ssh/mbp16_lgy.pem
- 编辑.ssh/config
添加
Host alias别名
HostName HOST域名或IP
User 用户名
Port 端口
IdentityFile ~/.ssh/mbp16_lgy.pem
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?