知識ベース Profitserver サービスの操作方法の簡単な説明
メイン 知識ベース SSH経由でLinuxサーバーに接続する方法

SSH経由でLinuxサーバーに接続する方法


Linuxサーバーに接続する主な方法は、SSHプロトコルを使用することです。この接続方法は、転送されるすべてのデータが暗号化されるため、安全です。SSH接続を確立するは、接続先のリモートサーバーとユーザー側のクライアントの両方で設定を行う必要があります。SSH接続用のソフトウェアは数多く存在します。LinuxではOpenSSHパッケージが最も人気があり、Windowsでは主にPuTTYが使用されています。

Ubuntu Server 18.04 を例にサーバー構成を詳しく見て、Linux と Windows からサーバーに接続してみます。

全ての操作は一般ユーザーのアカウントで行います。今回は「mihail」というユーザーを作成し、「root」アカウントはデフォルトで無効になっています。

サーバー側の設定

次のコマンドを実行してパッケージを設定します。

sudo apt install openssh-server
LinuxサーバーにSSH環境をインストールする

インストールが完了したら、サービスが実行されていることを確認します。次のコマンドを使用します。

systemctl status sshd
SSHサービスの可用性を確認しています

ステータスが「アクティブ(実行中)」とは、サービスが有効になっており、正常に動作していることを意味します。

この記事ではネットワーク ファイアウォールを構成しないため、ファイアウォールによる着信接続のブロックを回避するために、必ずファイアウォールを無効にしてください。

次のコマンドを使用します:

sudo ufw disable
Windows ファイアウォールで着信接続のブロックを無効にする

この段階では、すでにサーバーに接続できます。デフォルト設定では、サーバーはパスワードベースの認証を使用して標準ポート 22 への接続を許可します。

LinuxからのSSH接続

原則として、OpenSSH クライアントは Linux にデフォルトでインストールされており、追加の手動設定は必要ありません。接続は、ssh コマンドを使用してターミナルから確立できます。この場合のパラメータは、リモート サーバーのユーザー名と IP アドレスです。例として使用しているテスト サーバーには、「mihail」というアカウントが 1 つだけあるため、これを使用します。

ssh [email protected]

初回接続時には、サーバーの公開鍵をデータベースに追加することを確認する必要があるので、「はい」と入力してください。その後、パスワードを入力できます。接続が成功すると、サーバーのコマンドラインのウェルカムメッセージが表示されます。これで、すべてのコマンドがリモートサーバー上で直接実行されます。

LinuxからのSSH接続

Windows からの SSH

PuTTYを開き、接続パラメータを設定します。「接続タイプ」スイッチがSSHになっていることを確認してください。「ホスト名」フィールドにIPアドレスを入力し、「ポート」にデフォルト値の22を入力して、「開く」をクリックします。

WindowsからのSSH接続

初回接続時にPuttyは、このサーバーを信頼するかどうかを確認するメッセージを表示するので、「はい」をクリックしてください。

Windowsからの最初のSSH接続

ログインとパスワードを入力すると、リモート サーバーのコマンド ラインが表示されます。

SSH接続成功

キーによる認証。セキュリティレベルの向上

クライアントが SSH 経由でサーバーへの安全な接続を確立しようとする場合、接続を許可する前にサーバーはクライアントを認証 (検証) する必要があります。前述のように、通常はパスワードベースの認証がデフォルトで使用されます。ブルートフォース攻撃の手段が常に存在するため、この認証では堅牢なセキュリティは提供されません。また、パスワード認証は、スクリプトを使用した SSH 接続には適用できません。

このタイプのタスクには、キーによる特別な認証方法があります。ポイントは、クライアントが秘密キーと公開キーを生成し、公開キーがサーバーに送信されることです。その後、認証は公開クライアント キーと秘密クライアント キーに基づいて行われるため、サーバーに接続するためにパスワードは必要ありません。優れたレベルのセキュリティを提供するには、秘密キーへのアクセスを制限する必要があります。秘密キーはクライアント側に保存され、ネットワーク経由で転送されないため、この方法はより安全であると考えられています。

Linux でのキーによる認証

ssh-keygen ユーティリティ ソフトウェアを使用して、クライアントで公開キーと秘密キーを生成してみましょう。ツールは、セキュリティを強化するために秘密キーへのパスを変更し、パスフレーズを入力することを提案します。すべての要求で Enter キーを押して、すべてのパラメーターをデフォルトのままにします。

安全な接続のための Linux でのキーによる認証

その結果、ホームディレクトリの.sshフォルダ内に、id_rsaid_rsa.pubという2つのファイルが生成され、それぞれに秘密鍵と公開鍵が格納されます。

その後、公開鍵をサーバーに送信する必要があります。そのためには、「id_rsa.pub」ファイルの内容をサーバー上の「~/.ssh/authorized_keys 」ファイルにコピーします。「 ssh-copy-id 」ツールを使って最も簡単な方法で実行しましょう。通常の接続時と同様に、ログイン名とサーバーのIPアドレスを入力します。パスワードを入力すると、クライアントの公開鍵が自動的にサーバーにコピーされます。以下のコマンドを実行してください。

ssh-copy-id [email protected]
秘密鍵によるSSH認証

これらをすべて実行すると、サーバーはパスワードの入力を必要としなくなります。

Windows でのキーによる認証

PUTTYGENを開き、「生成」をクリックします。キーを生成するには、マウスを画面上で動かすだけで、ツールがランダムにキーを生成します。

キーが生成されたら、「秘密鍵を保存」をクリックして、ディスク上の秘密鍵ファイルに保存します。パスは任意に設定できますが、後でPuttyで指定する必要があります。次に、ウィンドウ上部から公開鍵をコピーします。

WindowsのSSH接続用の秘密鍵を生成する

公開鍵をターミナルにコピーするだけで送信できます。Puttyを開いて通常どおりサーバーに接続します。次に、「.ssh/authorized_keys」ファイルを作成し、他のユーザーがファイルにアクセスできないように制限して、作成者のみがアクセスできるようにします。

mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys

ファイルを作成したら、クライアントの公開鍵をその中に入れます。前の段階で、公開鍵をクリップボードにコピーしました。クリップボードの内容をファイルに記録するには、cat コマンドと出力リダイレクトを使用します。

cat > .ssh/authorized_keys

コマンドを入力したら、ターミナルウィンドウでマウスの右ボタンをクリックし、クリップボードの内容を貼り付けます。入力内容を確認するには、「Ctrl+D」キーを押してサーバーから切断します。

サーバーにキーをアップロードする

ここで、Putty で秘密鍵へのパスを指定して、再度サーバーに接続してみましょう。

秘密鍵を使用した最初のSSH接続

今後は、サーバーに接続するにはユーザー名を入力するだけで済みます。適切な秘密鍵を持たない別のデバイスからサーバーに接続しようとすると、サーバーはパスワードを要求します。キーベースの認証を設定したら、パスワードによるアクセスを禁止できます。

秘密鍵による接続が完了しました
❮ 前の記事 IE で強化されたセキュリティ構成を無効にする方法
次の記事❯ robots.txtの

VPSについてお問い合わせください

私たちは昼夜を問わずいつでもお客様のご質問にお答えする準備ができています。