📅  最后修改于: 2023-12-03 15:15:20.058000             🧑  作者: Mango
如果您是一名程序员,那么您一定知道GitHub。但是,有时我们需要在本地机器和GitHub上的仓库之间建立安全的SSH连接,以便我们可以使用git push等命令直接将代码上传到GitHub上。建立SSH连接后,我们通常需要输入密码才能访问远程仓库。本篇文章将向您介绍如何使用Shell/Bash来解决GitHub SSH询问密码的问题。
在您进行任何操作之前,您首先需要检查本地机器上是否存在SSH密钥。您可以使用以下命令来检查:
ls -al ~/.ssh
如果这个命令能够找到id_rsa和id_rsa.pub文件,那么您已经生成了SSH密钥并且可以跳到下一步。否则,您需要先生成SSH密钥。您可以使用以下命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
如果您的电脑已经有SSH密钥,请无需再次生成SSH密钥。
一旦您生成SSH密钥,您就需要将公钥添加到您的GitHub账户中。请确保您将公钥添加到Settings > SSH and GPG keys下的SSH keys。
接下来,您需要使用ssh-agent将SSH密钥添加到您的本地机器中。这可以使您在登录到GitHub时无需反复输入密码。
将以下内容添加到您的~/.bashrc或~/.bash_profile文件中:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
现在您可以测试连接是否成功通过。您可以使用以下命令来测试:
ssh -T git@github.com
如果您看到类似于“Hi username! You've successfully authenticated, but GitHub does not provide shell access”的消息,那么您的连接已经成功建立了。注意,不要关闭终端,否则您将需要重新添加SSH密钥,并在重新连接到GitHub时输入密码。
现在您可以使用git命令在本地机器和GitHub之间上传/下载代码,但是每次您提交代码时都需要输入密码是非常麻烦的。您可以通过将以下内容添加到您的~/.bashrc或~/.bash_profile文件中来自动添加SSH密钥并取消密码询问:
ssh-agent bash
ssh-add ~/.ssh/id_rsa
通过使用以上步骤,您可以通过SSH连接自动登录GitHub,无需反复输入密码,这使得您的操作更加简便和高效。让我们一起享受更加愉快的编程之旅吧!