1. tetymd

    Posted

    tetymd
Changes in title
+公開鍵認証でパスワード入力を省略する
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,79 @@
+#環境
+
+- 端末A(Lubuntu17.04) ー接続する側
+- 端末B(CentOS7) ー接続される側
+
+
+#公開鍵認証で接続するための4ステップ
+
+1. 「接続する側」で秘密鍵と公開鍵を作り、.sshディレクトリに格納する。
+2. 1で作った公開鍵を「接続される側」に送る。
+3. 「接続される側」で、送られてきた公開鍵をauthorized_keyファイルに追記する。
+4. 「接続する側」から「接続する側」にSSH接続し、パスフレーズを入力。
+
+これ以降はSSHなどで接続した時、パスワードを聞かれなくなります。
+
+#公開鍵認証で使用する3つのファイル
+
+
+#実際にやってみる
+
+##「接続する側」で秘密鍵と公開鍵を作る
+
+まず端末A「接続する側」で秘密鍵と公開鍵を作るため、
+以下のコマンドを実行します。
+
+```shell
+$ ssh-keygen -t rsa
+```
+
+コマンド実行後パスフレーズの入力を求められます。
+
+```shell
+Generating public/private rsa key pair.
+Enter file in which to save the key (/home/user/.ssh/id_rsa): Enterキー
+Created directory '/home/user/.ssh'.
+Enter passphrase (empty for no passphrase): パスフレーズ入力
+Enter same passphrase again: 再度パスフレーズ入力
+```
+
+パスフレーズは忘れたら鍵を作り直さないといけなくなるので注意。
+
+以上の入力が終わって、こんなのが出たら秘密鍵と公開鍵の作成は終了です。
+鍵は/home/user/.sshに保存されています。
+
+```shell
+Your identification has been saved in /home/user/.ssh/id_rsa.
+Your public key has been saved in /home/user/.ssh/id_rsa.pub.
+(フィンガープリント)
+```
+
+##「接続される側」に公開鍵を送る
+端末A「接続する側」で作った公開鍵を端末B「接続される側」に送ります。
+いろんな方法がありますが、今回はscpコマンドを使います。
+
+```shell
+$ scp .ssh/id_rsa.pub user@host:/home/user
+```
+
+##「接続される側」で、公開鍵を登録する
+端末Aから送られてきた公開鍵を登録します。
+端末Bに.sshディレクトリがない場合はmkdirなどで作っておきましょう。
+
+```shell
+$ cat id_rsa.pub >> ~/.ssh/authorized_keys
+```
+コマンド実行後は送られてきたid_rsa.pubを削除しても大丈夫です。
+
+##接続する
+鍵の登録が済んだので公開鍵認証で接続できるか確認しましょう。
+最初の接続は鍵を作った際に入力したパスフレーズを聞かれるので入力します。
+接続できたらexitで一旦抜けて、再度接続してみてください。
+パスワードを聞かれなければ公開鍵認証成功です。
+
+#補足
+接続できない場合は以下の点を確認してください。
+
+- ディレクトリ・ファイルのパーミッション
+- SELinux
+