リモートサーバーへの SSH

Fumbani Banda 2022年3月24日
リモートサーバーへの SSH

このチュートリアルでは、ssh を使用してリモート Linux サーバーに安全に接続する方法を示します。

SSH(Secure Socket Shell)を使用してリモート Linux サーバーに安全にアクセスする

SSH は SecureSocketShell の略です。これは、リモートの Linux マシンに安全にアクセスするために使用されるプロトコルです。

コンピューターとリモート Linux マシンの間に SSH 接続が確立されると、リモート Linux マシンでシェルが開始され、コンピューターでこのシェルにアクセスします。このシェルを使用して、ローカルコンピューターなどのリモート Linux マシンですべてのコマンドを実行できます。

SSH プロトコルは、リモート Linux マシンにアクセスするために非常に安全であり、システムおよびネットワーク管理者は通常、リモート Linux マシンを保守および構成するために SSH プロトコルを使用します。

SSH はクライアントサーバーアーキテクチャを使用します。クライアントコンポーネントとサーバー側コンポーネントがあります。リモートの Linux マシンにアクセスしたい人は、SSH クライアントを自分のマシンにインストールしておく必要があります。

SSH クライアントは、リモート Linux マシンにアクセスするためのプログラムです。リモート Linux マシンの情報と資格情報を SSH クライアントに入力し、詳細が有効な場合は、安全な SSH 接続を開始します。

サーバー側コンポーネントは、リモート Linux マシンで実行されます。リモート Linux マシンには、SSH サービスがインストールされ、稼働している必要があります。

SSH サービスは、サーバーなどの特定のポートで着信接続を常にリッスンします。SSH クライアントが接続を開始すると、SSH サービスはサポートするプロトコルバージョンで応答し、2つは識別に使用されるデータを交換します。資格情報が有効になると、SSH 接続が確立されます。

使用できる SSH ツールはたくさんあります。OpenSSH はその 1つであり、主に Linux ディストリビューションで使用されます。このチュートリアルでは、デモンストレーションの目的で OpenSSH を使用します。

Linux に OpenSSH クライアントをインストールする

多くの Linux ディストリビューションには、SSH クライアントがすでにインストールされています。Linux では、プログラムをインストールする前に、プログラムがすでにインストールされているかどうかを確認することをお勧めします。

ssh と入力して Enter キーを押すと、ssh が既にインストールされているかどうかを確認します。

ssh img1

ssh コマンドは、その使用法を標準出力に表示します。これは、SSH クライアントがすでにインストールされていることを意味します。SSH クライアントがインストールされていない場合は、このチュートリアルを続行する前に、最初に SSH クライアントをインストールしてください。

以下のコマンドを入力して、OpenSSH クライアントをマシンにインストールします。スーパーユーザーのパスワードの入力を求められ、インストールを続行するためのパスワードを入力します。

sudo apt-get install openssh-client

Windows ユーザーは、有名な PuTTY プログラムを SSH クライアントとして使用できます。

リモート Linux マシンに OpenSSH サーバーをインストールする

OpenSSH サーバーにアクセスする前に、リモート Linux マシンに OpenSSH サーバーがインストールされていることを確認してください。インストールされていない場合は、必ずインストールしてください。

Linux に OpenSSH サーバーをインストールするには、次のコマンドを実行します。

sudo apt-get install openssh-server

下の画像で OpenSSH サーバーをインストールしようとしていますが、マシンにはすでに OpenSSH サーバーがインストールされていると表示されます。

ssh img2

リモート Linux マシンで OpenSSH サーバーを起動する

リモート Linux マシンに OpenSSH サーバーを正常にインストールした後、SSH クライアントからの着信接続をリッスンするために OpenSSH サービスを開始する必要があります。

まず、sudo service ssh status と入力して、OpenSSH サービスのステータスを確認します。以下の出力は、サービスが非アクティブ(デッド)であることを示しています。

ssh img3

sudo service ssh start コマンドを使用して OpenSSH サービスを開始します。このコマンドは、ssh デーモンの実行を開始します。

sudo service ssh status コマンドを使用して、サービスのステータスを確認します。出力には、サービスがアクティブ(実行中)になっていることが示されます。

リモート Linux マシンには OpenSSH サーバーがインストールされており、稼働しています。これで、SSH クライアントからの着信接続を受け入れる準備が整いました。

ssh img4

ssh コマンドを使用してリモート Linux マシンにアクセスする

このチュートリアルのデモンストレーション目的で使用するリモート Linux マシン上に新しいユーザーを作成します。useradd コマンドを使用して、新しいユーザーdelftstack を作成します。

passwd コマンドを使用して、ユーザーdelftstack のパスワードを設定します。

ssh img5

次に、OpenSSH クライアントがインストールされているマシンに移動し、新しく作成されたユーザーdelftstack を使用してリモート Linux マシンにアクセスしようとします。

SSH は、次の表記法を使用してリモート Linux マシンにログインします。

ssh username@remotehostname
ssh username@remoteIPaddress

SSH は、ユーザーのパスワード delftstack を要求し、パスワードを入力して、Enter キーを押します。以下のような出力が表示されたら、リモート Linux マシンに正常にログインしています。

ssh img6

著者: Fumbani Banda
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub