リモートサーバーへの 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 コマンドは、その使用法を標準出力に表示します。これは、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 サーバーがインストールされていると表示されます。

リモート Linux マシンで OpenSSH サーバーを起動する
リモート Linux マシンに OpenSSH サーバーを正常にインストールした後、SSH クライアントからの着信接続をリッスンするために OpenSSH サービスを開始する必要があります。
まず、sudo service ssh status と入力して、OpenSSH サービスのステータスを確認します。以下の出力は、サービスが非アクティブ(デッド)であることを示しています。

sudo service ssh start コマンドを使用して OpenSSH サービスを開始します。このコマンドは、ssh デーモンの実行を開始します。
sudo service ssh status コマンドを使用して、サービスのステータスを確認します。出力には、サービスがアクティブ(実行中)になっていることが示されます。
リモート Linux マシンには OpenSSH サーバーがインストールされており、稼働しています。これで、SSH クライアントからの着信接続を受け入れる準備が整いました。

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

次に、OpenSSH クライアントがインストールされているマシンに移動し、新しく作成されたユーザーdelftstack を使用してリモート Linux マシンにアクセスしようとします。
SSH は、次の表記法を使用してリモート Linux マシンにログインします。
ssh username@remotehostname
ssh username@remoteIPaddress
SSH は、ユーザーのパスワード delftstack を要求し、パスワードを入力して、Enter キーを押します。以下のような出力が表示されたら、リモート Linux マシンに正常にログインしています。

