さくらのレンタルサーバーでGitHubにsshで接続できるようにします。
Contents
レンタルサーバーにsshでログイン
ターミナルを開きレンタルサーバーのsshにログインします。
さくらのレンタルサーバーのコントロールパネルに入り、サーバー情報からFTPアカウントとFTPサーバーを控えておきましょう
以下のコマンドを叩くとパスワードを聞かれますのでパスワードを入力します。
ssh FTPアカウント@FTPサーバー(*****@*****.sakura.ne.jp)
Welcome to FreeBSD! #成功
認証鍵を作成(公開鍵と秘密鍵)
以下の通り進めると鍵の名前、パスフレーズを聞かれますが、
特に設定することがなければEnterを押して進めていくとデフォルトの名前(id_rsa、id_rsa.pub)とパスフレーズを必要としないキーペアが作成されます。
bash #Bashに変更
cd ~/.ssh
ssh-keygen -t rsa -b 4096
Githubに公開鍵を登録
以下のコマンドを叩き公開鍵の中身を表示して全文コピーします。
cat ~/.ssh/id_rsa.pub
Githubの右上のアイコンにあるSetting → SSH and GPG keys → New SSH keyと進み
先ほどコピーした公開鍵を登録します。
Titleはわかりやすい名前であればなんでも大丈夫です。
configファイルを作成する
configファイルを作成することでGitHubへSSH接続する際に参照する秘密鍵の名前を指定できます。
IdentityFileの部分には自分で作成した秘密鍵の名前を設定してください。
touch ~/.ssh/config
Host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa
User git
接続確認
以下のコマンドを叩き、You’ve successfully authenticated, but GitHub does not provide shell access.と表示されれば接続は成功です。
ssh -T git@github.com
You've successfully authenticated, but GitHub does not provide shell access.
エラーが表示された場合
ssh-keygenでkeyを生成した際に鍵の名前を変えていればconfigファイルを設定しているかを確認してみて下さい。
またIdentityFileに記載されている内容のファイル名とパスが間違っていないか確認してください。
また.sshディレクトリのパーミッションは700
秘密鍵のパーミッションは600に設定しないとエラーが出る場合もあります。
#.sshディレクトリのパーミッションを変更
chmod 700 ~/.ssh/
#パーミッションの変更
chmod 600 ~/.ssh/id_rsa
参考
https://help.sakura.ad.jp/rs/2247/
https://docs.github.com/ja/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account
https://docs.github.com/ja/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection