PR

SSH(Secure Shell)とは?初心者向けにわかりやすく3分で解説

IT-Skills

SSHSecure Shell)は、コンピューターネットワーク上で遠隔地にあるコンピュータやサーバーと「安全に」通信するためのプロトコルです。

わかりやすく言うと、例えば家から会社のサーバルームにあるサーバやルータ等の機器を遠隔操作する際などに利用するのがSSH。

SSHとは
図1:SSHイメージ

SSHはパスワードやデータを暗号化し通信内容を保護することができるため、SSHを使うことで安全に遠隔地にあるサーバーにログインしてコマンドを実行したり、ファイルの転送を行ったりすることができます。

また、SSHは鍵ペア(公開鍵と秘密鍵)を用いた認証方式を採用しており、Telnetと比較するとセキュリティが強化。IT初心者でも基本的な操作をマスターすれば、便利で安全なリモートアクセスが可能になります。

このページではSSH(Secure Shell)とは何か?をIT初心者向けにわかりやすく簡潔に解説します。

このページで学べる内容
  • SSH(Secure Shell)とは?
    • Telnetとの違い

ネットワークエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識の1つです。是非最後までご覧ください。

スポンサーリンク

SSH(Secure Shell)とは?

SSHとは
(再掲)図1:SSHイメージ

SSH(Secure Shell)は、コンピューターネットワーク上で他のコンピューターに「安全に」接続するためのプロトコルです。主に、遠隔地にあるサーバーへのログインやコマンドの実行、ファイルの転送などに使われます。SSHはセキュリティ重視で実装されており、不正アクセスやデータの盗聴を防ぐために暗号化技術を使用します。

参考 プロトコルとは?

言葉を変えてざっくり説明すると、家や会社からサーバーに対して遠隔操作(ファイル転送やソフトウェアのダウンロード)を行うために利用する通信プロトコルというイメージ。データ通信の中身が暗号化されて、認証の仕組みも複数持っているのでセキュリティ的にも安心なので、サーバに対する遠隔操作を行う最も主流なプロトコルです。

SSHの動作原理

  1. 認証
    • SSHクライアントがサーバーに接続する際、まずサーバーは自身の身元を証明するためにデジタル証明書をクライアントに提供。これにより、クライアントは接続しているサーバーが正しいことを確認します。
  2. 暗号化
    • クライアントとサーバー間の通信は、暗号化されます。通信を開始する際、両者は共通の暗号化キーを交換し、このキーを使ってデータを暗号化・復号化します。このプロセスは「鍵交換」と呼ばれ、通信の安全性を確保します。
  3. データ転送
    • 暗号化された接続が確立されると、ユーザーはパスワードや公開鍵認証などを使用してサーバーにログインします。認証が成功すると、クライアントはコマンドの実行やファイルの転送などを安全に行うことができます。

SSHのコマンド

言葉だけで説明されてもイメージしづらいと思うので、ちょっと実演してみたいと思います。

SSHを利用し、サーバ上にあるファイルの一覧を取得してみます。

まずは、SSHコマンドを使用して接続先のホスト名またはIPアドレス、ユーザー名、およびポート番号を指定します。

上記の例では "user" はログインするユーザー名、"example.com" は接続先のホスト名、ポート番号は22です。

ssh user@example.com -p 22

参考 TCPとは

パスワードを入力してログインすると、サーバーに接続されプロンプトが表示されるので、ファイルとディレクトリをリストアップするために、"ls -la" と入力してみます。

ls -la

結果がこちら。

total 12
drwxr-xr-x   3 user  staff    96 Mar 18 15:16 .
drwxr-xr-x+ 44 user  staff  1408 Mar 22 13:10 ..
-rw-r--r--   1 user  staff   752 Mar 18 15:16 file1.txt

ファイルとディレクトリの詳細情報が表示されます。

file1.txtファイルのパーミッション、オーナー、グループ、サイズ、および最終更新日時が表示されています。

イメージはこんな感じです。やっていることは単純。これを応用する形でファイル転送やソフトウェアのインストール等を実施したりすることができます。

以下に代表的なコマンドの一覧を記載しておきます。

ssh: リモートサーバーにSSH接続を開始する
例:ssh user@example.com

scp: ファイル転送
例:scp user@example.com:/path/to/remote/file /path/to/local/destination

ssh-keygen: SSHキーペアの生成や管理
例:ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa

ssh-copy-id: SSH公開鍵をリモートサーバーにコピー
例:ssh-copy-id user@example.com

ssh-add: SSH秘密鍵をエージェントに追加
例:ssh-add ~/.ssh/id_rsa

ssh-agent: SSHエージェントを起動
例:ssh-agent bash

sftp: セキュアなFTP(File Transfer Protocol)セッションを開始
例:sftp user@example.com

sshfs: リモートファイルシステムをマウントします。
例:sshfs user@example.com:/path/to/remote/folder /path/to/local/folder

SSHとTelnetの違い

SSHと同じようなプロトコルにTelnetがあります。どちらもリモートアクセスプロトコルであり、ネットワーク経由で別のコンピューターに接続してコマンドライン操作を行うことができるという点で共通です。

参考 Telnetとは?

ただし、SSHとtelnetには以下のような差異があるので頭に入れておきましょう。

大まかに言うと「SSHの方がセキュリティが高いので、SSHを使いましょう!」ということです。

ssh telnet
項目SSHTelnet
セキュリティデータが暗号化されるためセキュリティが向上する平文(暗号化せずにそのまま)で接続を行うためデータが傍受される可能性がある
認証公開鍵認証やパスワード認証をサポートしセキュリティを強化できるパスワード認証のみをサポートしている
ポート番号ポート番号22を使用するポート番号23を使用する
プロトコルTCPを使用するTCPまたはUDPを使用できる
機能ファイル転送やポート転送など様々な機能がある機能が限定されており基本的なコマンドライン操作のみが可能

参考 TCP / UDP

SSHのまとめ
  • リモートサーバーを遠隔操作するためのネットワークプロトコル
  • Telnetなどの他のリモートアクセスプロトコルと比較して高いセキュリティ性と機能性を備える
  • ポート番号22を使用する
  • コマンドラインインタフェースを通じてリモートサーバー上での操作を行う

代表的なSSHコマンドの例

ssh: リモートサーバーにSSH接続を開始する
例:ssh user@example.com

scp: ファイル転送
例:scp user@example.com:/path/to/remote/file /path/to/local/destination

ssh-keygen: SSHキーペアの生成や管理
例:ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa

ssh-copy-id: SSH公開鍵をリモートサーバーにコピー
例:ssh-copy-id user@example.com

ssh-add: SSH秘密鍵をエージェントに追加
例:ssh-add ~/.ssh/id_rsa

ssh-agent: SSHエージェントを起動
例:ssh-agent bash

sftp: セキュアなFTP(File Transfer Protocol)セッションを開始
例:sftp user@example.com

sshfs: リモートファイルシステムをマウントします。
例:sshfs user@example.com:/path/to/remote/folder /path/to/local/folder

ネットワーク学習の決定版(ネットワークエンジニアを目指すなら必見!)

blank
インターネットのプロトコルTCP/IP入門書の決定版!

↑ページ数が多く誰でも手軽に読める内容ではありませんが、ネットワークエンジニアであれば、ほぼ全員が一度は読んだことがある超・有料書籍。是非一度読破しておきたい1冊のご紹介です。

読者特典> 0から学ぶネットワーク入門

このWebサイトは現役のエンジニアが以下3点を目的として運営しています。

  1. 勉強:一度理解した内容を忘れないように。
    → アウトプットは「最強のインプット」である! 
  2. 備忘:忘れたとしても後から見返せるように。
    → 未来の自分への「お手紙」を書いています。 
  3. 共有:〇〇ってこうだったんだ!の感動をシェアできるように。
    → あなたの知識は誰かにとっての「価値ある情報」です。 

副業ブログの始め方はこちらから

スポンサーリンク
IT-SkillsNetwork
シェアする
ビズドットオンラインをフォローする
blank
ビズドットオンライン
タイトルとURLをコピーしました