公開鍵認証を設定してsshで接続する

これまでCUIコマンドを使う機会がなく、今の現場でサーバをsshで触る機会が多くあり、個人で勉強したことをまとめています。Linux弱者向けです。
今回はサーバに公開鍵を設定してあげて、sshで認証します。またconfigファイルも設定して、ローカルから簡単に接続できるようにします。

1. 秘密鍵・公開鍵の設定

ローカルのPCで秘密鍵と公開鍵の作成を行います。
実行するコマンドは以下のコマンドになります。

秘密鍵・公開鍵設定
$ pwd
/Users/sample/.ssh #現在のディレクトリ

$ ssh-keygen -t rsa #公開鍵・秘密鍵作成
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/sample/.ssh/id_rsa):  sakura #ファイル名をデフォルト「id_rsa」から変更することができます。今回は「sakura」にしました。
Enter passphrase (empty for no passphrase):  #パスワード入力(表示されないけど大丈夫)
Enter same passphrase again: #確認用パスワード入力(表示されないけど大丈夫)
Your identification has been saved in sakura. #秘密鍵作成成功!
Your public key has been saved in sakura.pub. #公開鍵作成成功!

デフォルトの設定では、
・ 公開鍵: ~/.ssh/id_rsa.pub
・ 秘密鍵: ~/.ssh/id_rsa

今回はファイル名を設定したので
・ 公開鍵: ~/.ssh/sakura.pub
・ 秘密鍵: ~/.ssh/sakura
が作成されています。

作成した鍵の確認
$ pwd
/Users/sample/.ssh

$ls
config      sakura
known_hosts sakura.pub

ちゃんと作成されていることが確認できました。
Finderでも念のため確認...。

Shift + Command + .(カンマ)を押すと隠しフォルダが出てくるので、
/Users/sample/.sshを見てみます。でちゃん作成されています。

スクリーンショット 2018-01-10 8.27.45.png

2. 公開鍵登録

公開鍵をサーバに設置します。
ローカルから設置するサーバに公開鍵を転送します。
Userの部分は任意で変更してください。

公開鍵設置
$ scp ~/.ssh/sakura.pub User@User.sakura.ne.jp:/home/User/.ssh/authorized_keys

このコマンドでサーバ側に公開鍵が設置されます。

そのあとにサーバに一度sshで接続して以下のコマンドを打ちます。
権限を持たせるために必要みたいです。

権限の追加
% chmod 600 .ssh/authorized_keys

3.configファイルの設定

ローカルの/Users/sample/.sshにconfigファイルを設定してあげます。
これを設定することで簡単にsshで接続できるようになります。

/Users/sample/.ssh/config
Host sakura
 User User名
 HostName User名.sakura.ne.jp
 Port 22
 IdentityFile ~/.ssh/sakura
 ServerAliveInterval 60

キーワード Right align
User サーバのユーザ名
HostName ホスト名
Port ポート
IdentityFile ログインするための秘密鍵のパス
ServerAliveInterva タイムアウトする秒数

4. sshで接続

最後に認証ができているか確認を行います。

接続
$ ssh sakura
Enter passphrase for key '/Users/sample/.ssh/sakura':  #パスワード入力
Last login: Wed Jan 10 07:52:52 2018 from 
FreeBSD 9.1-RELEASE-p24 (SAKURA17) #0: Thu Feb  5 10:03:29 JST 2015

Welcome to FreeBSD! #接続成功!

という感じで普段はGUIを使っているので、あまりコマンドでssh接続することがなかったので、試してみました。

参考にさせてもらいました。
ありがとうございました:bow_tone2:
さくらのレンタルサーバーにSSHでログインする
.ssh/configファイルでSSH接続を管理する
ssh公開鍵認証設定まとめ

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.