LoginSignup
0
2

More than 5 years have passed since last update.

「SSHってなんなの?」レベルだから少し調べた

Posted at

最近AWSの勉強をしておりまして、EC2インスタンスにssh接続をして向こうのサーバーを操作しているのですが、
「ところでSSHってなんだっけ?安全な接続方式なんだろうけど、人に説明できないや。。。」
って感じなので、少し調べてみました。

SSHとは

プロトコルの一種。※プロトコルがわからない方はこちら

Secure Shellの略なのですが、文字通り、セキュア(安全)にShellをいじるための通信プロトコルということですね。

通信相手のコンピュータのシェルを操作するために用いられます。

元はtelnetという似たものが存在していたのですが、telnetは安全ではないです。
なぜかというと、平文で通信するから。盗聴されるとすぐに解読されてしまいます。
しかし、sshでの通信の場合、平文ではなく、暗号化して通信を行います。こうすれば通信を盗聴されても読まれる心配はありません。

じゃあ実際どのように使われるのよ?

調べましたが、いい感じに書いてくれている記事が存在しましたね。
こちらを参照ください。

この記事では、大体の流れをざっくり文字に起こします。

  1. ローカル側のコンピュータで秘密鍵&公開鍵の生成
  2. 公開鍵をリモート側に渡す(ようやくここでssh接続の準備が完了)
  3. ローカル側でssh ~のように、コマンドでssh接続を行う
  4. リモート側が公開鍵と乱数で暗号を作成→ローカル側に暗号を送信&ローカル側でハッシュ値を生成
  5. 暗号鍵(パスフレーズで復号済み)と受け取った暗号でローカル側が乱数を復号&乱数からハッシュ値を計算
  6. ローカル側で計算したハッシュ値とリモート側で生成したハッシュ値が一致すれば、認証完了
0
2
1

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
2