SSH(Secure Shell)常用于加密远程登录与文件传输(如 sftp/scp)。 密钥登录用一对数学相关的密钥替代频繁输入密码:私钥留在本机(可口令保护),公钥登记在服务器或 Git 托管网站。

入门:公钥与私钥各自干什么

  • 私钥(secret key):绝不共享;用于证明「你持有对应身份」。
  • 公钥(public key):可公开分发;服务器只保存公钥,用来校验签名或协商。
  • 登录流程的细节(如 OpenSSH 的具体算法协商)以你所用版本文档为准。

深入:为什么 Git 常用 SSH URL

git@github.com:user/repo.git 通过 SSH 传输 Git 协议流量,省去每次 HTTPS 输入令牌(仍需保护好私钥)。 与 HTTPS 对比:二者都可加密传输;身份绑定方式不同(主机密钥 / 证书 vs 托管平台账户密钥)。

实践要点(最小清单)

  • 为私钥设置口令(passphrase),防止拷贝文件即冒充。
  • 使用 ssh-agent 管理解密后的私钥内存副本(平衡安全与便利,配置依操作系统)。
  • 服务器侧 authorized_keys 一行一公钥;权限位错误会导致认证静默失败(OpenSSH 惯例)。
  • 首次连接主机时会提示主机指纹:应通过可信渠道核对,防范中间人。

算法与密钥长度推荐随时间变化;OpenSSH 发行说明与发行版安全公告为准。企业环境往往还有证书式 SSH(SSH CA),超出入门范围。

与其它主题的衔接

Git 入门 中的远程 URL; 防火墙 须放行 TCP 22(或自定义端口); TCP/IP 帮助理解连接建立失败时的分层排查。