ssh-agent(1)

ssh-agent(1) 是一个工具,用于在会话期间将私钥存储在内存中,以便重复使用。通常,它在会话开始时启动,随后的窗口或程序作为客户端与代理进行通信。环境变量 SSH_AUTH_SOCK 指定与代理通信所使用的套接字路径。

ssh-add(1)

ssh-add(1) 是一个工具,用于将密钥身份加载到代理中以便重复使用。它也可以用来从代理中移除身份。代理存储用于身份验证的私钥。

ssh-keyscan(1)

ssh-keyscan(1) 从 OpenSSH 版本 2.5.1 开始就已成为 OpenSSH 套件的一部分,用于获取公钥。使用 ssh-keyscan(1) 或任何其他方法获取的密钥必须通过检查密钥指纹来验证,以确保密钥的真实性并减少中间人攻击的可能性。默认情况下,ssh-keyscan(1) 请求使用 SSH 协议 2 的 ECDSA 密钥。最初的版本由 David Mazieres 编写,Wayne Davison 添加了对 SSH 协议版本 2 的支持。

ssh-keygen(1)

ssh-keygen(1) 用于生成用于身份验证的密钥对或证书,更新和管理密钥,或验证密钥指纹。它与 SSH 密钥配合使用,并且可以执行以下操作:

  • 生成新的密钥对,包括 ECDSA、Ed25519、RSA、ECDSA-SK 或 Ed25519-SK。
  • 从已知主机中移除密钥
  • 从私钥再生公钥
  • 更改私钥的密码短语
  • 更改私钥的注释文本
  • 显示特定公钥的指纹
  • 显示特定公钥的 ASCII 艺术指纹
  • 将密钥加载到智能卡中(如果读卡器可用)

如果使用过时的协议 SSH1,则 ssh-keygen(1) 只能生成 RSA 密钥。然而,SSH1 已被弃用,使用此协议的系统应进行更新。虽然可以生成 DSA 密钥,但它们也已弃用,应替换。

密钥指纹的一项重要用途是在首次连接机器时验证密钥的真实性。指纹是公钥的哈希或摘要。可以通过安全的方式(例如邮寄、传真、短信或电话)传输指纹,确保其真实性和未被篡改。

ssh-copy-id

ssh-copy-id 是某些 Linux 发行版中包含的一个脚本,用于将公钥安装到远程机器的 authorized_keys 文件中。它是一个简单的 shell 脚本,建议在首次登录后手动检查 authorized_keys 文件,确保公钥正确复制。

ssh-vulnkey

ssh-vulnkey 是某些 GNU/Linux 发行版中包含的工具,用于检查密钥是否在黑名单中,这些密钥在使用某个破损版本的 OpenSSL 时可能被泄露。这个黑名单的引入是因为该版本的 OpenSSL 生成的密钥容易预测并被泄露。通过该破损版本生成的密钥无法修复,必须替换。该问题已经修复,新的密钥应该是安全的。

最后修改: 2025年01月19日 星期日 21:44