1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SSHの鍵を設定してLinuxに接続する

Last updated at Posted at 2018-07-05

はじめに

LinuxにSSHで毎回ID/PASS入力するのが面倒なので、鍵交換で接続できるようにします。
ID/PASS方式でSSH接続できていることが前提です。以下を参考にさせていただきました。

環境

  • 接続元:Windows10
  • 接続先:上記のHyper-Vで動いているDebian(ここで作ったもの)
  • 接続クライアント:WinSCP + PuTTY

手順

流れとしては、以下の手順で進めます。

  1. PuTTYgenを使用して秘密鍵、公開鍵を作成
  2. 接続先マシンの設定変更
  3. 公開鍵を接続先マシンに配置

秘密鍵、公開鍵の作成

鍵の作成

PuTTYgenを使用して鍵を作成します。
「generate」をクリックして、マウスをぐりぐり動かすと鍵が出来ます。
image.png

出来ました。
image.png

秘密鍵の保存

「Save private key」で秘密鍵を保存しておきます。ここではid_rsa.ppkとして保存します。

秘密鍵を保存する際、パスフレーズを入力しないと警告が出ます。
パスフレーズは「秘密鍵を使うためのパスワード」みたいなもので、ログイン時に秘密鍵と合わせてパスフレーズが必要になります。今回はそもそもそのパスワード入力が面倒だから鍵交換方式にしようとしているので、パスフレーズは空欄のまま警告を無視して秘密鍵を保存します。

公開鍵の保存

公開鍵は「Save public key」ではなく、画面に表示されているキーをコピペしてテキストファイルに張り付けます。Public key for pasting into OpenSSH authorized_keys file:と書いてあるところの下の部分ですね。
右クリックして「すべて選択」してからCtrl+Cでコピーするのがよいかと。また、後々のためにファイル名はauthorized_keys2にしておきます。

鍵が出来たのでPuTTYgenは閉じてOKです。

接続先マシンの設定

接続先のLinuxでは以下の設定が必要です。

  • 鍵交換方式のSSHログインを許可する設定
  • 作成した公開鍵の設定

鍵交換方式のSSHログインを許可

/etc/ssh/sshd_configを編集し、設定を変更します。
以下の2行を探してコメントアウトを解除。

sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile	.ssh/authorized_keys .ssh/authorized_keys2

作成した公開鍵の設定

先ほど作成したauthorized_keys2を、/home/[ログインするユーザー]/.ssh/以下にコピーします。
中身はただのテキストファイルなので、viなどでコピペしてもいいし、WinSCPでコピーしてもいいです。

SSHの設定を反映

以下のコマンドでsshdを再起動し、設定を反映します。

$ sudo service sshd restart

接続

WinSCPでホスト名とユーザー名を指定します。パスワードは空欄に。
image.png

設定→SSH→認証で、作成した秘密鍵をWinSCPに設定。
image.png

これで接続できます。
image.png

PuTTYでもパスワードが求められなくなりました。
image.png

image.png

その他

rootユーザーによるSSHログインを許可

まず、sshd_configを編集してSSHログインを許可します。以下のコメントアウトを解除。

sshd_config
PermitRootLogin prohibit-password

次に、公開鍵を配置します。
rootユーザーのホームは/rootです。公開鍵設定済みのユーザーでログインし、公開鍵を/root/.ssh以下にコピーします。

$ sudo mkdir /root/.ssh/
$ sudo cp .ssh/authorized_keys2 /root/.ssh/

ID/PASS方式のログインの禁止

これもsshd_configを編集すればOK。以下をnoに変更。

sshd_config
PasswordAuthentication no

おわりに

これで、PuTTYで毎回パスワードを入力しなくて済むぞー!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?