SSHの概要
1. 序章
Secure Shell(SSH)は、インターネットなどの安全でないネットワークを介してリモートコンピューターにアクセスできるようにする一般的なネットワークプロトコルです。
このチュートリアルでは、それに飛び込んで、そのさまざまな側面を探ります。
2. Secure Shellとは何ですか?
SecureShellまたはSecureSocketShellは、ネットワークプロトコルです。 これは、 Open Systems Interconnection (OSI)ネットワークモデルの7番目以降にあるアプリケーション層プロトコルです。 また、SSHプロトコルを実装する一連のユーティリティも指します。
Secure Shellは、パスワードとキーベースの認証の両方もサポートします。パスワードベースの認証により、ユーザーはリモートサーバーに認証するためのユーザー名とパスワードを提供できます。 キーベースの認証を使用すると、ユーザーはキーペアを介して認証できます。 キーペアは、クライアントをSecureShellサーバーに対して認証するための2つの暗号化された安全なキーです。
さらに、Secure Shellプロトコルは、2台のコンピューター間のデータ通信も暗号化します。 インターネットを介してリモートコンピュータと通信するために広く使用されています。
3. セキュアシェルアーキテクチャ
Secure Shellにはクライアントサーバーアーキテクチャがあります。通常、サーバー管理者は、着信接続を受け入れるか拒否するサーバープログラムをインストールします。 さらに、ユーザーはサーバーを要求するクライアントプログラムをシステム上で実行します。 デフォルトでは、サーバーはHTTPポート22でリッスンします。
4. Secure Shellはどこで使用すればよいですか?
ほとんどの場合、Secure Shellアプリケーションは、すべてのオペレーティングシステムサーバーでデフォルトで使用できます。 SSH接続はさまざまな目的で使用されます。 たとえば、次の使用法があります。
- ローカルマシンとリモートマシン間の通信
- サーバーリソースへのリモートアクセス
- リモートホストマシンでコマンドを実行する
- 多数のシステム管理タスクの実行
さらに、キーベースの認証は、リモートホスト間で便利なシングルサインオン(SSO)アクセスを提供します。 これにより、ユーザーはパスワードを必要とせずにアカウント間を移動できます。
5. セキュアシェルコマンド
Secure Shellは、追加機能を備えたいくつかの実行可能コマンドを提供します。
- ssh – リモートマシンにログインし、リモートマシンでコマンドを実行します
- sshd – SSHクライアントからの着信SSH接続要求を待機し、許可されたシステムがローカルホストに接続できるようにするSSHサーバーデーモンプロセスです。
- ssh-keygen – SSH用の新しい認証キーペア。ログインを自動化してシングルサインオンを実装し、ホストを認証するために使用されます
- ssh-copy-id –サーバー上でSSHキーをコピー、インストール、および構成できます
- scp –SSHで保護されたバージョンのRCPプロトコルで、あるマシンから別のマシンにファイルをコピーできます
- sftp –インターネットでファイルを共有するために使用されるFTPプロトコルのSSHで保護されたバージョン
6. Secure Shellをどのように使用しますか?
Secure Shellを使用する最も一般的な方法は、sshコマンドを使用してリモートコンピューターにログインすることです。
上記のコマンドでは、 ssh 実行可能ファイルを使用して、adminユーザーでserver.example.comサーバーに接続しました。 コマンドの形式は次のとおりです。
6.1. キーペアの作成
SSHを使用して、マシンに秘密鍵と公開鍵のペアを生成することもできます。
ssh-keygen -t rsa
ssh-keygen コマンドを使用して、秘密鍵と公開鍵のペアを作成しました。 公開鍵はリモートコンピューターと共有され、秘密鍵はセキュリティのために秘密にされます。
6.2. ファイルのコピー
また、Secure Shellプロトコルを使用して、SCPコマンドを使用してあるマシンから別のマシンにファイルをコピーすることもできます。
scp <em>fileName</em> <em>user@remotehost:destinationPath</em>
上記のコマンドで、 fileName は、ホストマシンの現在のディレクトリにコピーされるファイルです。 コマンドの残りの部分は、リモートコンピューター上の宛先パスとともにユーザーとサーバーの詳細を表します。
7. セキュアシェルトンネリング
セキュアシェルトンネリングは、ユーザーがローカルホストとリモートホストの間のセキュアトンネルを開くことを可能にする技術です。
その主な目的は、ネットワークトラフィックを特定のポートまたはIPアドレスにリダイレクトすることです。 これにより、ローカルマシン上のアプリケーションからリモートホストに直接アクセスできるようになります。 宛先はリモートSSHサーバー上にある場合もあれば、そのサーバーがさらに別のリモートホストに転送するように構成されている場合もあります。
8. 結論
このチュートリアルでは、SecureShellプロトコルの概要を説明しました。 まず、それが何であるかとアーキテクチャについて説明しました。 次に、その使用方法と最も適した領域について説明しました。
最後に、一般的に使用されるコマンドについて説明し、便利な機能であるSecureShellトンネリングについて説明しました。