※2022年から技術系の記事は個人ブログに投稿しております。ぜひこちらもご覧ください→yamaday0u Blog
はじめに
やまだゆう(@yamaday0u)です。
ぼくは現在、業界未経験で、エンジニアへの転職を目指して勉強・転職活動中です。
今回はsshについて調べてみました。
きっかけ
プログラミングスクールのカリキュラムでAmazon EC2(Amazon Elastic Compute Cloud)で作成したEC2インスタンスへのアプリケーションのデプロイを実現する過程で、EC2インスタンスにアクセスするために使ったことが、sshに初めて触れたきっかけです。
当時はカリキュラムに書かれているままにsshを使っていたので、sshとは何かを自分で調べもしないままにしていました。
これからエンジニアを目指している身として、IT業界で使われる用語をほったらかしではいけない!と思い、今回調べて記事にすることにしました。
今回のゴール
- sshで何ができるかを知る
- 他の似たような用語と何が違うのかを知る
sshとは
sshはSecure SHell(セキュア シェル)の略で、暗号化した安全な通信で遠隔からコンピュータを操作する際に使用されるソフトウェアです。
sshとは、主にUNIXコンピュータで利用される、ネットワークを介して別のコンピュータにログインして操作するためのソフトウェアの一つ。通信経路が暗号化されるため、インターネットなどを経由しても安全にアクセスすることができる。
コンピュータ上で動作しているOSに利用者が指示を与えるためのシェル(shell)と呼ばれるプログラムの一種で、遠隔からコンピュータの操作画面を呼び出し、手元のコンピュータのキーボードなどで入力したコマンド(命令)などを送信して実行し、結果を受信して表示することができる。公開鍵暗号と秘密鍵暗号を組み合わせて通信経路を暗号化し、パスワードなどの認証情報や入力されるコマンド、出力された処理結果などをすべて暗号化して送受信する。(IT用語辞典より)
ぼくはEC2インスタンスにアクセスするときにsshを使用したのですが、確かにEC2インスタンスはローカルのPCの中ではなくクラウド上にあるため、sshを利用し遠隔から操作をしたというわけですね。
ちなみにAmazon EC2は仮想サーバを構築できるサービスで、EC2インスタンスはOSを載せた仮想サーバです。
参考:Amazon EC2とは何か?「インスタンス」など関連用語もまとめて解説【保存版】(ビジネス+IT)
似たような用語との違い
HTTPとの違い
HTTPは「Hyper Text Transfer Protocol 」の略で、インターネット上の情報を転送するときの決まりごとです。
HTTPもsshも「通信で使われる」という面では共通点がありますが、HTTPはテキストデータの転送で使用される「決まりごと」であるの対し、sshは遠隔地にあるコンピュータの「操作」に使われます。
参考:SSHとHTTPの違いは何でしょうか(teratail)
SSLとの違い
SSLは「Secure Sockets Layer」の略で、インターネット上のWebブラウザとWebサーバ間の通信を暗号化するプロトコルです。
ざっくり言ってしまえば、HTTPを暗号化してHTTPSでの通信を可能にしてくれるものです。
略称は1文字しか違わないため、ぼくも調べる前はsshとSSLの違いが何かわかりませんでしたが、全然違うものを指しています。
手前味噌な感じですが、過去にHTTPやSSLについて調べてQiitaに投稿した記事があるので、こちらもご参照ください。
HTTPとHTTPS、SSLについて整理する(Qiita)
参考資料
IT用語辞典
Amazon EC2とは何か?「インスタンス」など関連用語もまとめて解説【保存版】(ビジネス+IT)
HTTPとHTTPS、SSLについて整理する(Qiita)
ssh とは何か(Qiita)
SSHとHTTPの違いは何でしょうか(teratail)