我想在我的mac上切换两个不同的github帐户。例如,我目前正在使用我的个人MAC,并且我在此MAC上设置了我的个人github帐户。但在家里,我必须做一些办公室工作,并希望使用办公室github帐户。我想问几个问题。
实际上,我想为我的办公室帐户创建一个新的存储库,但是当我使用终端时,它会与我的个人帐户同步。那么如何摆脱或切换两个帐户?
答案 0 :(得分:0)
基于您的问题,假设您有一个或多个工作站(笔记本电脑和PC),并且您希望拥有多个公共ssh密钥。请按照以下步骤操作。
步骤1:打开命令提示符。
第2步:首先检查可用的ssh密钥
home@name:~$ $ ls -al ~/.ssh
如果你有,你会看到一些文件 示例:id_pra.pub id_prab.pub id_rsa
步骤3:使用电子邮件作为提供者生成新的SSH密钥 生成一个新的SSH密钥,复制并粘贴下面的文本,确保 替换你的电子邮件地址。默认设置是首选, 因此,当系统提示您“输入要保存密钥的文件”时, 只需按Enter继续。
home@name:~$ ssh-keygen -t rsa -C "your-email@example.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/you/.ssh/id_rsa):
现在,系统会要求您输入密码或强密码
Enter passphrase (empty for no passphrase): [Type a passphrase]
# Enter same passphrase again: [Type passphrase again]
如果密码匹配,您会看到类似的内容。
Your identification has been saved in /home/you/.ssh/id_rsa.
# Your public key has been saved in /home/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:1f:f5:3d:cb:82:d3:19:a1:7f:f1:58:4d:f2:a1:db your-email@example.com
现在将新密钥添加到ssh-agent:
home@name:~$ eval "$(ssh-agent -s)"
Agent pid 63675
home@name:~$ ssh-add ~/.ssh/id_rsa
步骤4:下一步将SSH密钥添加到您的帐户(Github / bitbucket)
运行以下命令将密钥复制到剪贴板。请记住,您的密钥也可能被命名为id_dsa.pub,id_ecdsa.pub或id_ed25519.pub。
home@name:~$ sudo apt-get install xclip
# Downloads and installs xclip. If you don't have `apt-get`, you might
need to use another installer (like `yum`)
home@name:~$ xclip -sel clip < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard
另一种方法是在文本编辑器中打开.ssh目录并从ssh密钥文件中复制代码。示例文件名id_rsa.pub 现在登录到您的Github并单击帐户设置,然后单击SSH密钥,然后单击添加密钥按钮并粘贴代码并为其指定标题(可能是您的PC或笔记本电脑名称)。
步骤5:为了确保一切正常,您现在将尝试通过SSH连接到GitHub。执行此操作时,系统会要求您使用密码验证此操作,密码是您之前创建的密码。
打开终端并输入
home@name:~$ ssh -T git@github.com
# Attempts to ssh to GitHub
您可能会看到以下错误消息:
The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?
最后,如果一切都配置正确,您将看到此消息。
Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.
你已经完成了!。