技术与工程已解决
git push 认证失败,应该用 HTTPS 还是 SSH?
比较 GitHub 的 HTTPS 与 SSH 认证路线,并按错误信息完成安全排查。
问题正文
推送代码时报认证失败、Permission denied (publickey),或者提示不能使用账号密码。
我应该选择 HTTPS 还是 SSH,怎样处理才不会泄露 Token?
比较 GitHub 的 HTTPS 与 SSH 认证路线,并按错误信息完成安全排查。
问题正文
推送代码时报认证失败、Permission denied (publickey),或者提示不能使用账号密码。
我应该选择 HTTPS 还是 SSH,怎样处理才不会泄露 Token?
ANSWERS
回答内容
新手可以优先使用 HTTPS 加 GitHub CLI 登录,配置成本较低;经常在固定电脑开发时也可以配置 SSH。两者都安全,关键是不要把令牌或私钥写入代码。
运行 git remote -v 确认仓库地址。
选择 HTTPS 时使用 gh auth login 或凭据管理器。
选择 SSH 时生成 key,把公钥添加到 GitHub 后用 ssh -T 测试。
认证成功后再执行 git push。
gh auth login
git remote -v
# 使用 SSH 时
ssh-keygen -t ed25519 -C "你的邮箱"
ssh -T [email protected]Personal Access Token 等同于密码,不要放进源码、截图或聊天记录。
Permission denied (publickey) 通常表示 SSH key 没添加或远程地址与认证方式不一致。
GitHub Docs:Set up Git:https://docs.github.com/en/get-started/git-basics/set-up-git
GitHub CLI:gh auth login:https://cli.github.com/manual/gh_auth_login