Github: 每次使用后我都必须制作一个新的 SSH 密钥
Github: I have to make a new SSH key after every use
我有一所学校和一个个人 Github,所以我为我的个人帐户制作了一个 SSH 密钥并将其链接起来。它总是只工作一次,然后给我
Push Failed
Git@github.com: Permission denied (publickey). Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
我删掉旧的SSH,重新做一个SSH后又可以正常使用了,但这显然是一个巨大的麻烦。我在 Windows 10,使用 Git Bash,IDE 是 IntelliJ。
有什么想法吗?谢谢
您无需为每个 git 服务创建 SSH 密钥,只需将相同的 public 密钥上传到个人和学校帐户即可。
SSH public 密钥绑定到您的本地帐户 只有当您使用不同的本地(机器)帐户或不同的机器时,您才生成 SSH 密钥
在我看来,当您尝试进行身份验证时,您可能没有使用您的密钥。
如果你运行命令
ssh-add -l
您(应该)看到所有密钥的列表。每次开始新会话时,请确保启动代理并添加密钥。
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
我通过以下方式解决了这个问题:
1.Create在路径$USER_HOME/.ssh/
中创建一个名为config
的文件,然后添加以下内容。
# For school account
Host school_github
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_school
# For personal account
Host personal_github
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_personal
2.Run 以下命令使用 git bash:
更改您的学校github 存储库配置
git remote rm origin
git remote add origin git@school_github:your_github_username/your_repo_name.git
你可以试试。
我有一所学校和一个个人 Github,所以我为我的个人帐户制作了一个 SSH 密钥并将其链接起来。它总是只工作一次,然后给我
Push Failed
Git@github.com: Permission denied (publickey). Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
我删掉旧的SSH,重新做一个SSH后又可以正常使用了,但这显然是一个巨大的麻烦。我在 Windows 10,使用 Git Bash,IDE 是 IntelliJ。
有什么想法吗?谢谢
您无需为每个 git 服务创建 SSH 密钥,只需将相同的 public 密钥上传到个人和学校帐户即可。
SSH public 密钥绑定到您的本地帐户 只有当您使用不同的本地(机器)帐户或不同的机器时,您才生成 SSH 密钥
在我看来,当您尝试进行身份验证时,您可能没有使用您的密钥。
如果你运行命令
ssh-add -l
您(应该)看到所有密钥的列表。每次开始新会话时,请确保启动代理并添加密钥。
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
我通过以下方式解决了这个问题:
1.Create在路径$USER_HOME/.ssh/
中创建一个名为config
的文件,然后添加以下内容。
# For school account
Host school_github
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_school
# For personal account
Host personal_github
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_personal
2.Run 以下命令使用 git bash:
更改您的学校github 存储库配置
git remote rm origin
git remote add origin git@school_github:your_github_username/your_repo_name.git
你可以试试。