公開鍵認証を設定して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を見てみます。でちゃん作成されています。
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で接続できるようになります。
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接続することがなかったので、試してみました。
参考にさせてもらいました。
ありがとうございました
・ さくらのレンタルサーバーにSSHでログインする
・ .ssh/configファイルでSSH接続を管理する
・ssh公開鍵認証設定まとめ