Help us understand the problem. What is going on with this article?

公開鍵認証でパスワード入力を省略する

More than 1 year has passed since last update.

ローカルで起動しているサーバにログインする際
毎回パスワードを入力するのが面倒なので、公開鍵認証を使用して省略します。

環境

  • 端末A(Ubuntu17) ー接続する側
  • 端末B(CentOS7) ー接続される側

Linux以外でも多分同じ。

公開鍵認証で接続するための4ステップ

スライド2.JPG

  1. 「接続する側」で秘密鍵と公開鍵を作る。
  2. 1で作った公開鍵を「接続される側」に送る。
  3. 「接続される側」で、送られてきた公開鍵をauthorized_keysファイルに登録(追記)する。
  4. 「接続する側」から「接続される側」にSSH接続し、パスフレーズを入力。

これ以降はSSHなどで接続した時、パスワードを聞かれなくなります。

公開鍵認証で使用する3つのファイル

スライド1.JPG

実際にやってみる

「接続する側」で秘密鍵と公開鍵を作る

まず端末A「接続する側」で秘密鍵と公開鍵を作るため、
以下のコマンドを実行します。

$ ssh-keygen -t rsa

コマンド実行後パスフレーズの入力を求められます。

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に保存されています。

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コマンドを使います。

$ scp ~/.ssh/id_rsa.pub user@host:~

「接続される側」で、公開鍵を登録する

端末Aから送られてきた公開鍵を登録します。
端末Bに.sshディレクトリがない場合はmkdirなどで作っておきましょう。

$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

コマンド実行後は送られてきたid_rsa.pubを削除しても大丈夫です。

接続する

鍵の登録が済んだのでsshコマンドで公開鍵認証で接続できるか確認しましょう。
最初の接続は鍵を作った際に入力したパスフレーズを聞かれるので入力します。
接続できたらexitで一旦抜けて、再度接続してみてください。
パスワードを聞かれなければ公開鍵認証成功です。

補足

接続できない場合は以下の点を確認してください。

参考

公開鍵暗号 - wikipedia
https://www.pistolfly.com/weblog/2007/02/ssh.html

tetymd
スタートアップでエンジニアをしています
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした