跳到主要内容

ssh-keygen 管理密钥

通过 ssh-keygen 管理密钥。

创建 SSH 密钥

ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/example_key -q -N ""

恢复丢失的公钥

如果有权访问私钥,则可以使用 OpenSSH 恢复公钥。

ssh-keygen -y -f ~/.ssh/example_key > ~/.ssh/example_key.pub (管理员权限执行)

更改密钥的密码

可以使用 -p 选项更改私钥的密码,并使用 -f 选项传递私钥。

ssh-keygen -p -f ~/.ssh/example_key

查看钥匙的指纹

使用 -l 选项打印密钥的 SHA256 指纹,并使用 -f 选项传递私钥。

ssh-keygen -l -f ~/.ssh/example_key

将公钥传输到远程服务器

使用 -i 选项指定要传输的公钥。

ssh-copy-id -i ~/.ssh/example_key.pub <username>@<IP address or domain name>

文件权限

  • chmod 700 ~/.ssh,当前用户的 SSH 配置目录,仅给当前用户分配‘读写执行’权限
  • chmod 644 ~/.ssh/authorized_keys,服务端 SSH 认证用户的文件,当前用户权限‘读写’,组权限、其他用户权限仅“读”
  • chmod 644 ~/.ssh/known_hosts,本地 SSH 认证服务器的文件,当前用户权限‘读写’,组权限、其他用户权限仅“读”
  • chmod 644 ~/.ssh/config,SSH 配置文件,组权限、其他用户权限仅“读”
  • chmod 600 ~/.ssh/id_rsa,私钥,仅给当前用户分配‘读写’权限
  • chmod 644 ~/.ssh/id_rsa.pub,私钥,仅给当前用户分配‘读写’权限,组权限、其他用户权限仅“读”