web-dev-qa-db-ja.com

〜/ .ssh / configファイルがありませんが、複数のGitHubアカウントが機能します。

自分のマシンで作業できるように別のGitHubアカウントを構成しようとしています。私は周りを見回し始めました found

〜/ .ssh/configを作成/変更して、複数のsshプロファイルをセットアップします。わずかに異なる「ホスト」値に注意してください。

したがって、私は(すでに)複数のアカウントが機能しているので(いつどのようにしたか覚えていません)、~/.ssh/configに別のエントリを追加したいと思いました。しかし、私はそのようなファイルを持っていないようです。多分それはどこかにありますか?それとも私のマシンは他の方法で設定されていますか?どこから検索を開始しますか?

6

これはgitではなくsshの動作です。

~/.sshフォルダーには、秘密鍵があります。秘密鍵のファイル名は、デフォルトではid_rsaです。 sshクライアントがsshサーバーにログインする必要があるときはいつでも、そのファイルからキーを読み取ります。

ただし、認証に別の秘密鍵を使用したい場合もあります。その場合は、ファイル~/.ssh/configを作成し、エイリアス(コマンドラインで入力するホスト名)を使用してセクションを追加します。実際のホスト名と、ローカルシステム上の代替キーファイルへのパス:

# ~/.ssh/config
Host alternative-github
    HostName github.com
    User MyOtherGithubUser
    IdentityFile /media/me/MyUsbThumbDrive/.ssh/MyOtherGithubUsers-id_rsa

この構成を実行sshは、次のようにレポを複製するときに、UBSサムドライブで秘密キーを探します。

git clone git@alternative-github:/MyOtherGithubUser/someRepositoty.git

結論

Gitプロジェクトで同じ公開鍵と秘密鍵のペアを使用し、秘密鍵が~/.ssh/id_rsaとして利用できる限り、~/.ssh/configファイルは必要ありません。

7
Timothy Truckle

~/.ssh/configに別のエントリを追加したかっただけです

あなたはそれを作成できますが、:

  • 別の名前で公開鍵/秘密鍵を生成する必要がある

    ssh-keygen -q -P "" -t rsa -f ~/.ssh/key2
    
  • リモートサーバーの2番目のアカウントに~/.ssh/key2.pubを登録する必要があります

  • 次の設定ファイルが必要です。

    Host github2
    HostName github.com
    User git
    IdentityFile /home/me/.ssh/key2
    

ここでユーザーに注意してください: 'git'、not 'another GitHub account'

  • そのエントリを使用するには、OriginのリモートURLを変更する必要があります。

    git remote set-url Origin github2:MySecondAccount/MyRepo.git
    
1
VonC