SSH 密钥对的使用

创建
阅读 868

使用场景

  • Git SSH 拉取和提交时认证
  • Linux SSH 远程登录认证
  • Rsync 等工具使用时认证

创建 SSH 密钥对

ssh-keygen -t ed25519 -C "备注信息 用户名@用途"

默认保存路径 ~/.ssh/ , 私钥: ~/.ssh/id_ed25519 , 公钥: ~/.ssh/id_ed25519.pub

在不支持ed25519 算法的老旧系统中生成密钥
ssh-keygen -t rsa -b 4096 -C "备注信息 用户名@用途"

开启 ssh-agent 转发

# cat ~/.ssh/config
# 开启ssh-agent转发
Host *
    ForwardAgent yes

# 针对特定主机开启 ssh-agent 转发
Host github
    HostName github.com
    IdentityFile ~/.ssh/id_ed25519
    User git
    ForwardAgent yes

启动 ssh-agent

eval $(ssh-agent -s)

将 SSH 私钥添加到 ssh-agent

ssh-add ~/.ssh/id_ed25519

ssh-add ~/.ssh/id_rsa

查看已添加到 ssh-agent 的 SSH 私钥

ssh-add -L

⚠️注意: 在 MacOS 上,当系统重新启动后,ssh-agent 再次启动时会 “忘记” 这个密钥。可以通过以下命令将SSH密钥导入到密钥链中:

/usr/bin/ssh-add -K ~/.ssh/id_ed25519

拷贝公钥到远程主机

1.命令快捷导入方法(推荐)

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@ip

2.手动拷贝

将公钥拷贝,追加至远程主机 ~/.ssh/authorized_keys 文件中(不存在则请新建),并确保此文件权限为 0600 ,(修改权限:chmod 0600 ~/.ssh/authorized_keys

本文链接 https://www.yidiankuaile.com/post/use-of-ssh-key

最后更新