SSH についてのメモ ~ github に関連して
GitHub に自分のアカウントとリポジトリを作りました
作り方はこちら↓に親切に解説されていて、そのとおりでしたので、ここでは割愛です。
ナウなヤングのためのgithub入門講座 -基本機能からdotfiles管理まで-
github では認証に SSH(セキュアシェル)を使うことができます。
上記サイトで紹介されている手順でも SSH を設定します。
その SSH について疑問に感じて調べたことが以下のメモです。
両方の疑問に対して回答となる内容を含むブログがこちらです♪
SSH公開鍵認証メモ
まず、SSH鍵を複数持つことができるかどうかについてです。
ssh-keygen のオプション
[-f output_keyfile]
で SSH鍵ペアの名称を変更できるようです。
名称が設定できるということは、複数の鍵を持つこともできそうです(未検証)。
あるいは、
GitLabへの公開鍵の登録
のなかで、
既に鍵ペアがある場合_
にて紹介されている手順では、ssh-keygen の下記の質問
鍵ファイルの名称を変えられるなら、鍵を複数持てるはずです(未検証)。
次に、SSH鍵のコピーして使いまわせるかについて。
これは実際に試して、認証されることを確認できました。
まず、既に github に認証済のメインのマシンにて SSHキーと config を tar にまとめます。
先週、linuxBeanをインストールしたマシンにもっていって、解凍します。
認証を試す前に、このマシンには git が無いのでインストールしました。
github の設定("SSH keys" )はいじっていませんが、認証の確認、適当なレポジトリのクローン、ともに問題なくできました♪
最後に2点ほど補足。
ssh-keygen には man のエントリーが無いようで、代わりに
github の認証は SSH なしでも、アカウント・パスワード入力でも可能です。
さらに、それを省く方法もあります。
一定時間、省くだけならこんなのもあるようです(未検証)。
SSH は取っつきにくかったのですが、これで少しスッキリして親しみも持てました
作り方はこちら↓に親切に解説されていて、そのとおりでしたので、ここでは割愛です。
ナウなヤングのためのgithub入門講座 -基本機能からdotfiles管理まで-
github では認証に SSH(セキュアシェル)を使うことができます。
上記サイトで紹介されている手順でも SSH を設定します。
その SSH について疑問に感じて調べたことが以下のメモです。
両方の疑問に対して回答となる内容を含むブログがこちらです♪
SSH公開鍵認証メモ
まず、SSH鍵を複数持つことができるかどうかについてです。
ssh-keygen のオプション
[-f output_keyfile]
で SSH鍵ペアの名称を変更できるようです。
名称が設定できるということは、複数の鍵を持つこともできそうです(未検証)。
あるいは、
GitLabへの公開鍵の登録
のなかで、
既に鍵ペアがある場合_
にて紹介されている手順では、ssh-keygen の下記の質問
Enter file in which to save the key (/home/foo/.ssh/id_rsa):において、デフォルト id_rsa 以外の名称を指定しています。
鍵ファイルの名称を変えられるなら、鍵を複数持てるはずです(未検証)。
次に、SSH鍵のコピーして使いまわせるかについて。
これは実際に試して、認証されることを確認できました。
まず、既に github に認証済のメインのマシンにて SSHキーと config を tar にまとめます。
$ cd ~/.ssh/
$ tar zcvf ~/dot_ssh.tgz config id_rsa*
先週、linuxBeanをインストールしたマシンにもっていって、解凍します。
$ mkdir .ssh
$ tar zxvf ../dot_ssh.tgz
認証を試す前に、このマシンには git が無いのでインストールしました。
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install git
github の設定("SSH keys" )はいじっていませんが、認証の確認、適当なレポジトリのクローン、ともに問題なくできました♪
$ ssh git@github.com(補足) "GitHub does not provide shell access."と言われるのは構わないらしい。
$ git clone https://github.com/<account>/<repository>この結果、カレントに <repository> 名のディレクトリが生成されます。
最後に2点ほど補足。
ssh-keygen には man のエントリーが無いようで、代わりに
$ info ssh-keygenで使い方の情報を参照できます。
github の認証は SSH なしでも、アカウント・パスワード入力でも可能です。
さらに、それを省く方法もあります。
$ git config --global credential.helper storeただし、.git-credentials にパスワードが平文で保存されるので危ういかも
一定時間、省くだけならこんなのもあるようです(未検証)。
$ git config --global credential.helper cache
SSH は取っつきにくかったのですが、これで少しスッキリして親しみも持てました