LoginSignup
0
0

More than 3 years have passed since last update.

セキュリティリスクを回避しながらSSH接続する

Last updated at Posted at 2020-07-26

前回の記事では、パスワードを使った最も簡単な接続を紹介しました。
次はもう少しセキュリティを高めた方法を紹介します。
前回同様、会社のデスクトップパソコン(Main PC)を社内のどこからでも自分のノートPC(My PC)で接続できるようにします。

サーバー:Main PC
クライアント:My PC

open-sshと付属のパッケージをインストールします。こちらは以前の記事を御覧ください。

まず、セキュリティを高めるために、SSH接続では「秘密鍵」と「公開鍵」ファイルを理解しましょう。
これら「鍵」はSSH接続を開始し、~通信内容を暗号化・復号化するためにつかわれるものです。
例えば、自分のノートPC(My PC)から会社のデスクトップPC(Main PC)をSSH接続で操作するときにパスワードを使ってログインしていると、自分以外の誰かが操作できる可能性がでてきます。また、SSH接続の内容を他人が読み取る可能性もあります。
そこで、通信接続をはじめる際にパスワードを用いないで2台のPCを接続し、更に2台のPC間の通信内容を暗号化し、2台のPC間でしか復号化できないようにする事を実現したものが上記の2つの「鍵」です。

実際のSSH接続では、My PCで2つの鍵を生成し、そのうちの「公開鍵」をMain PCに登録します。My PCでは「秘密鍵」を使って通信を暗号化します。この暗号化した通信をMain PCは受け取り、公開鍵で復号化します。

では、「秘密鍵」と「公開鍵」を作成しましょう。こちらからはMy PC(自分のノートPC)で操作します。

MyPC
$ ssh-keygen -b 2048

上記を打つと、どこに2つの鍵を生成するか聞かれます。デフォルトの~/.sshで良いと思います。
次に上記の鍵を実際に鍵として使うためのパスワードを求められます。
このパスワードは忘れないでください。
(簡単にいうと、2つの鍵のうち秘密鍵はパスワードでしか開かない封筒に入れられてる状態で生成されるためです。実際に接続するときにはこのパスワードを一度いれて封筒から秘密鍵を取り出さないと使えません。)

次に、鍵が生成されたか確認しましょう

MyPC
$ ls ~/.ssh
id_rsa id_rsa.pub

鍵の生成場所は今回、~/.ssh (/home/user/.ssh)ですので、そこのファイルをlsで表示させます。
すると2つのファイルがあると思います。

id_rsa=秘密鍵
id_rsa.pub=公開鍵(pub=publication)

できました!!!!

それでは、この公開鍵をMain PCに持ってけばいいんですが、どこに置くか、どうやって持っていけばいいのか....面倒な人は以下を実行すれば勝手に公開鍵をMain PCに登録してくれます。

MyPC
$ cd ~/.ssh #1
$ ssh-copy-id -i id_rsa.pub user@192.168.1.1 #2
  (ssh-copy-id -i 公開鍵名(パスの指定もできます) Main PC(サーバー)のユーザー名@Main PCのIP)

#1で公開鍵の保存場所に移動します。
#2で~/.sshのid_rsa.pubを公開鍵に指定して、サーバー(Main PC)に送信しています。
サーバー(Main PC)のユーザー名やIPアドレスの調べ方は、以前の記事でお書きしていますので、そちらを参照ください。
実行するとMain PCのログインパスワードを聞かれますので入力してください

これで、My PCの公開鍵がMain PCに登録されました。

さて、後は接続です。
これまた結構簡単です。

$ cd ~/.ssh
$ ssh -I id_rsa(パスの指定でもOK:~/.ssh/id_rsa) user@192.168.1.1

あれ?パスワード聞かれる....意味ないんじゃ?
そうです。このパスワード認証をオフにしましょう。
次回の記事で書きます!!

0
0
5

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
0
0