GitはWindowsで複数のアカウントを設定します

(1)SSH鍵を生成し、デプロイ

Gitのクライアントをインストールした後、Gitのbashのを開き、User1のSSHキーを生成するには、次のコマンドを入力します。

 SSH-keygenは -t rsaの-C " [email protected] " 

.SSH現在のユーザーの秘密鍵ファイル内のディレクトリとid_rsaとはgithubのにUSER1にid_rsa.pubの内容を追加し、公開鍵ファイルをid_rsa.pubファイルが生成されます。そして、ユーザーのSSHキーを有効にするためにあるのgit bashのテストで次のコマンドを入力します。

SSH -T [email protected] 

接続が成功のヒントであれば!こんにちはUSER1あなたは、認証に成功しました、しかし、GitHubのは、シェルアクセスを提供していません。
注意:このコマンドは、キーid_rsaと名前のファイルに限られています。

そして、鍵はuser2を生成し、もはやそれ以外の場合は、キーファイルの前にカバーする、デフォルトのファイル名id_rsaとを使用するに注意を払います:

SSH-keygenは -t rsaの-f〜/。SSH / id_rsa2 -C " [email protected] " 

そして、githubの中のユーザの公開鍵にファイルを追加します。
テストUser2のSSHキーファイルは、接続を指定する必要があります。

SSH -T [email protected] -i〜/。SSH / id_rsa2 

また、キーのテストを追加した後、SSHエージェントを使用することができます。システムのデフォルトのみid_rsaとを読んでいるので、sshは新しい秘密鍵を認識できるようにするために、秘密鍵は、手動でのssh-agentを使用して追加することができます。  

ssh-agent のbash
 のssh-追加〜/。SSH / id_rsa2

 注意:このメソッドは、唯一の効果的な現在のウィンドウ、接続に失敗したSSHの新しいウィンドウを開きます。

 

(2)構成設定ファイル

.sshディレクトリ内のテキストの設定ファイルを作成し、各ホスト・ノードをアカウントに設定します。メインアイテムの説明: 

1
2
3
4
5
Host      主机别名
HostName  服务器真实地址
IdentityFile  私钥文件路径
PreferredAuthentications  认证方式
User  用户名

プロフィールコンテンツ

コードをコピー
#配置user1の
ホストu1.github.com 
ホスト名github.com 
IdentityFileにC:\\ユーザー\\管理者\\。SSH \\ id_rsaと
PreferredAuthentications公開
ユーザuser1の

#配置user2の
ホストu2.github.comの
ホスト名github.com 
IdentityFileにC:\\ユーザー\\管理者\\。SSH \\ id_rsa2 
PreferredAuthentications公開
ユーザuser2
コードをコピー

そして、端末SSHキーのテストを経て発効するかどうか

 

(3)ユーザー名とメールボックスを設定します

以前にグローバルユーザー名とメールボックスを構成していた場合は、設定を解除し、各倉庫内の適切なユーザー名とメールボックスを設定する必要があります。

gitの設定--global - 未設定のuser.name 
gitの設定 --global --unset user.email

個々の倉庫用のユーザー名とメールボックスの設定

git config user.name "user1"
git config user.email "[email protected]"

如果原先使用HTTPS通信,则需要修改远程仓库地址

git remote rm origin
git remote add origin [email protected]:xxx/xxxxx.git


注意:

ssh -T git@github 时,一定要打 yes!yes!yes!!! 我就是被这里坑了!

 

用法:

 

安装好Git客户端后,打开git bash,输入以下命令生成user1的SSH Key:

 ssh-keygen -t rsa -C "[email protected]" 

在当前用户的.ssh目录下会生成id_rsa私钥文件和id_rsa.pub公钥文件,将id_rsa.pub中的内容添加至user1的github中。然后在git bash中输入以下命令测试该用户的SSH密钥是否生效:

ssh -T [email protected] 

若连接成功则提示Hi user1! You've successfully authenticated, but GitHub does not provide shell access.
注:该命令仅限于文件名为id_rsa的密钥。

接着生成user2的密钥,注意不能再使用默认的文件名id_rsa,否则会覆盖之前密钥文件:

ssh-keygen -t rsa -f ~/.ssh/id_rsa2 -C "[email protected]" 

再将该用户的公钥文件添加至github中。
测试user2的ssh连接时需要指定密钥文件:

ssh -T [email protected] -i ~/.ssh/id_rsa2 

也可以使用ssh agent添加密钥后进行测试。因为系统默认只读取id_rsa,为了让ssh识别新的私钥,可以使用ssh-agent手动添加私钥:  

ssh-agent bash
ssh-add ~/.ssh/id_rsa2

 注:该方法仅限当前窗口有效,打开新的窗口则ssh连接失败。

 

(2)配置config文件

在.ssh目录下创建一个config文本文件,每个账号配置一个Host节点。主要配置项说明: 

?
1
2
3
4
5
Host      主机别名
HostName  服务器真实地址
IdentityFile  私钥文件路径
PreferredAuthentications  认证方式
User  用户名

配置文件内容

コードをコピー
# 配置user1 
Host u1.github.com
HostName github.com
IdentityFile C:\\Users\\Administrator\\.ssh\\id_rsa
PreferredAuthentications publickey
User user1

# 配置user2
Host u2.github.com
HostName github.com
IdentityFile C:\\Users\\Administrator\\.ssh\\id_rsa2
PreferredAuthentications publickey
User user2
コードをコピー

再通过终端测试SSH Key是否生效

 

(3)配置用户名和邮箱

如果之前配置过全局的用户名和邮箱,需要取消相关配置,再在各仓库下配置相应的用户名和邮箱。

git config --global --unset user.name
git config --global --unset user.email

为各仓库单独配置用户名和邮箱

gitの設定user.name " USER1 "  Gitの設定user.email " [email protected] "

HTTPS通信の元使用する場合は、リモートリポジトリのアドレスを変更する必要があります

リモートgitのRM 原点
Gitはリモート原点[email protected]を追加します。XXX /xxxxx.git

おすすめ

転載: www.cnblogs.com/feiquan/p/11538433.html