hello foo bar Saba note | githubにsshで接続する

githubにsshで接続する

2017.4.16 (日)

githubはとても便利なんですが、最初に使おうと思うと結構面倒なので備忘録。
githubは基本すべてオープンになるので、ソースを晒す前提で書いてゆくとよいかと思います。無料で使えるリモートリポジトリなので大変ありがたいです。

SSHでGithubに接続する

githubへの接続はSSHの鍵認証みなので、最初にSSHキーを作成します。
SSHの鍵を作成する
何も設定しない場合は、以下の2つのファイルが作成されます。秘密鍵(id_rsa)と公開鍵(id_rsa.pub)です。

id_rsa
id_rsa.pub

通常SSHで接続する際には公開鍵をAuthGithubに接続する際にはauthorized_keysファイルに登録(追記)します。GithubにSSHで接続する場合は、

  1. Githubにログイン
  2. 自分のアイコンマークからプルダウン中のSettingsを選ぶ
  3. 左メニュー(むかしは右メニューだった?)のSSH & GPG Keysを選んで、
  4. New SSH keyボタンをおして公開鍵を追加します。



Keyの登録を終えたら、サーバーからGithubに端末で普通にSSHで接続してみます。構文は以下の通りです。

$ ssh -l git -i ~/.ssh/ssh-key github.com
PTY allocation request failed on channel 0
Hi osamuya! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

メッセージの通りSSHでのコマンド操作はできないのですが、SSHで疎通を確認することができました。
GithubのHelpにも同じこと解説していました。
Github help

SSHの接続ホストを登録する

.ssh/configファイルによく使うホストと鍵を登録しておくと大変便利です。
vi .ssh/configとかやってファイルを作成して以下のように書きます。

Host github.com
HostName github.com
IdentityFile ~/.ssh/omnioo/ssh-key
User git

configファイル作成後は、このファイルを参照してSSH接続を行うので、

ssh github.com

だけで接続できるようになります。

Githubを使ってファイル管理をしてみる

特に説明も何もないのですが、リモートリポジトリしてGithubを使います。
新規のリポジトリの作成は、
自分のアイコン→Your Profileに行って、上部メニューのRepositoriesをクリックしてリポジトリの画面の右側にある「NEW」ボタンを押して必要なパラメータを記入します。



入力内容はリポジトリ名と説明とpublicかprivateかだけです。create Repositoryボタンを押して完了。以下のようにアクセス先のアドレスが出るのでそこに接続します。

git@github.com/osamuya/REPOSITORY_NAME.git

リモートリポジトリの設定コマンドが親切にも全部出てくるので概ねその通りに設定すればOKです。
ここで注意なのが、「git@github.com:osamuya/REPOSITORY_NAME.git」の場合SSHのconfigファイルでショートカットを設定した場合には:コロンではなく/スラッシュにしないと駄目なようです。なので、

git@github.com:osamuya/uuouu.git
↓
git@github.com/osamuya/uuouu.git