GitHubへのSSH接続設定を、ほぼ自動で行うシェルスクリプト
というお手軽セットを作ってみました。
https://github.com/yagrush/setup-github-ssh ← 20200622: バグってたので修正しました。すみません!
対話入力を途中で求められるコマンドを自動で流すことができる expect というライブラリを使わせて頂いてます。
動作環境
- AmazonLinux2 または
yum
が使えるLinux
その他のOSは…?
※ setup-github-ssh-step1.sh
の5行目あたり
sudo yum install -y expect git
の yum
を apt-get
に書き換えればDebian系Linuxで動いたり、
brew
に書き換えればMacでも動くかと思います。
また 対GitHub のみならず、対GitLab などにも流用できるかと。
使い方
設定を施したいユーザーでターミナルログインする。
以下のコマンドで一式をダウンロード&解凍する。
wget https://github.com/yagrush/setup-github-ssh/archive/master.zip -O setup-github-ssh.zip; unzip setup-github-ssh.zip; rm -f setup-github-ssh.zip
#ついでにディレクトリを移動しておく
cd setup-github-ssh-master
setting.sh
の中身を、ご自身の設定に合わせて書き換える。
setting.sh
export GIT_EMAIL="hogehoge@users.noreply.github.com"
export GIT_USER="hogehoge"
↑ hogehoge
を、ご自身のgithubアカウントのユーザー名に書き換えて下さい。
メールアドレスは、晒しても大丈夫であれば本物のメールアドレスに書き換えて下さい。
匿名アドレスにしたければ @users.noreply.github.com
はそのままに hogehoge
のところだけ書き換えて下さい。
chmod
コマンドで、3つの.shファイルに実行権限を与える。
chmod +x setup-github-ssh-*.sh
※すでに実行権限が付いている場合は飛ばしてOKです。
setup-github-ssh-step1.sh
を実行する。
./setup-github-ssh-step1.sh
setup-github-ssh-step1.sh
の実行結果にsshパブリックキーが表示されるので、GitHubのWEBページにアクセスして、GitHubアカウントに紐づけ登録する。
- sshパブリックキーの例
ssh-rsa AAAAB3NzxJOiM3uGFiAwNNnJk8N7SRrhRFcSR2S84gK544xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx444444444444444444444444444444444xxxxxxxxxxxxxxx4444444444444444444444444444444444444444EXtPdGaZCUKYMFKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxOiLe4d1cL5D/zQ1o59ZEbzSMqrTgrv22ZBFfffffffffffffffffffffffffffffffffffffffffffRyu79XJHpHf hogehoge@users.noreply.github.com
setup-github-ssh-step2.sh
を実行する。
./setup-github-ssh-step2.sh
Hi ○○○! ... などと表示されればOK!
$ ./setup-github-ssh-step2.sh
spawn ssh -T github.com
The authenticity of host 'github.com (xxx.xxx.xxx.xxx)' can't be established.
...
...
...
Warning: Permanently added 'github.com,xxx.xxx.xxx.xxx' (RSA) to the list of known hosts.
Hi hogehoge! You've successfully authenticated, but GitHub does not provide shell access.