0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SSH&Proxyでgithubのpush先アカウントを切り替える方法

Last updated at Posted at 2021-06-27

今回はgithubへのpushに対する記事を書いていこうと思います。
これもまた結構時間がかかりました。
複数のgithubアカウントの切り替えに加え、ssh接続のためのプロキシの設定もあり結構戸惑いました。
以前のrails構築記事同様に備忘録として残したいと思います。

環境
・git 2.26.2
・sshキー作成場所:~/.ssh

#sshキーを作成する
念のためここから書いていきます。

>cd ~/.ssh
>ssh-keygen -t rsa

上記のコマンドをそれぞれ打ってEnter。
するとキーの名前を聞かれるので入力します。(何も入力せずEnterでもOK。)
そのあと二回パスフレーズの入力を求められます。これも必要なら設定して下さい。
今回は2つのgithubアカウント用に2つのsshキーを作成しました。

#sshキーをgithubのアカウントと紐づける
githubアカウントの右上のアイコンを左クリック -> Settings-> SSH and GPG keys
ここのnew SSH keyを押します。
名前はなんでもよさそうですが、一応キーの名前にしておきました。
その下の広いスペースには、C:¥ユーザー¥ユーザ名¥.sshの中にあるsshキー名.pubの中身を貼り付けます。
これは以下のコマンドでできます。

>clip < ~/.ssh/sshキー名.pub(Windows)
>pbcopy < ~/.ssh/sshキー名.pub(Mac)

#configファイルの設定をする
次にconfigファイルの設定を行います。
先ほどのsshキーが保存されている場所(C:¥ユーザー¥ユーザ名¥.ssh)にconfigファイルを作成します。(拡張子なし。すでにある場合は作らなくていい。)
その中に以下のように記述します。

Host github.com
	HostName github.com
	IdentityFile ~/.ssh/pushしたいsshキー名
	User git
	ProxyCommand connect.exe -H プロキシのホスト名:ポート %h %p

sshキー名にはpushしたいリポジトリを有するアカウントに関連付けたsshキーを設定します。
push先を変えたい場合はここと後述するremoteリポジトリを変更すればよいです。
最後の一文はプロキシを使用する場合に必要になります。
プロキシのホスト名にはhttp://をつける必要はありません。

#pushしてみる
いよいよpushしてみます。
pushしたいファイルはaddやcommitを済ませていることを想定しています。
まず、以下のコマンドを実行し、ssh接続できているかを確かめます。

>ssh -T git@github.com

パスフレーズを設定した場合は聞かれるので入力します。
Hi! ... みたいなものが出ていれば接続は成功です。
22番ポートが開かない場合ははconfigファイルにPort 443と指定して443番で接続してみるといいかもしれません。
yes/noみたいなものが出てきたら、接続していいか聞かれているのでyesと入力してEnterでOKです。

ではあとはコマンドを載せていきます。
ちなみに、git remote -vを入力して、originのURLがあるなら、
git remote rm originで消しておいてください。

>git remote add origin git@github.com:ユーザ名/リポジトリ名.git
>git push -u origin main

ここでもパスフレーズを聞かれた場合は入力します。
リモートリポジトリのURLを変更したい場合は、

>git remote set-url origin git@github.com:ユーザ名/リポジトリ名.git

を入力してください。
これで1台のPCで、複数のアカウントのリポジトリに切り替えながらpushすることができました。

#最後に
ここまで読んでいただきありがとうございます。
今回は、configのsshキー指定とgitのリモートリポジトリの変更で1台のPCで複数のgithubアカウントのそれぞれのリポジトリにpushする方法を書きました。そしてプロキシ対応も行いました。
画像を貼れていなくて申し訳ないですが、参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?