Linuxサーバーに接続する主な方法は SSHプロトコルこのタイプの接続は、転送されるすべてのデータが暗号化されるため安全です。 〜へ SSH接続を確立する 接続先のリモート サーバーとユーザー側のクライアントで設定する必要があります。SSH 接続用のソフトウェアは多数あります。Linux の場合、OpenSSH パッケージが最も人気があり、Windows の場合、ほとんどの人が PuTTY を使用しています。
Ubuntu Server 18.04 を例にサーバー構成を詳しく見て、Linux と Windows からサーバーに接続してみます。
すべては一般ユーザーのアカウントから行います。この場合、「マイケル"、および"ルート” アカウントはデフォルトで無効になっています。
サーバー側の設定
次のコマンドを実行してパッケージを設定します。
sudo apt install openssh-server
インストールが完了したら、サービスが実行されていることを確認します。次のコマンドを使用します。
systemctl status sshd
状態 "アクティブ(実行中)” は、サービスが有効になっており、正常に動作していることを意味します。
この記事ではネットワーク ファイアウォールを構成しないため、ファイアウォールによる着信接続のブロックを回避するために、必ずファイアウォールを無効にしてください。
次のコマンドを使用します:
sudo ufw disable
この段階では、すでにサーバーに接続できます。デフォルト設定では、サーバーはパスワードベースの認証を使用して標準ポート 22 への接続を許可します。
LinuxからのSSH接続
原則として、OpenSSH クライアントは Linux にデフォルトでインストールされており、追加の手動設定は必要ありません。接続は、ssh コマンドを使用してターミナルから確立できます。この場合のパラメータは、リモート サーバーのユーザー名と IP アドレスです。例として使用しているテスト サーバーには、「mihail」というアカウントが 1 つだけあるため、これを使用します。
ssh [email protected]
最初の接続では、サーバーの公開鍵をデータベースに追加することを確認する必要があるので、「はい」。その後、パスワードを入力できます。接続に成功すると、サーバーのコマンド ラインのウェルカム テキストが表示されます。これで、すべてのコマンドがリモート サーバー上で実行されます。
Windows からの SSH
Puttyを開いて接続パラメータを設定します。スイッチ「接続タイプ” は SSH. IPアドレスを「ホスト名” フィールド、デフォルト値 22 「ポート"とクリックして"店は開いています"。
最初の接続時 パテ このサーバーを信頼するかどうかの確認を求められますので、「あり
ログインとパスワードを入力すると、リモート サーバーのコマンド ラインが表示されます。
キーによる認証。セキュリティレベルの向上
クライアントが SSH 経由でサーバーへの安全な接続を確立しようとする場合、接続を許可する前にサーバーはクライアントを認証 (検証) する必要があります。前述のように、通常はパスワードベースの認証がデフォルトで使用されます。ブルートフォース攻撃の手段が常に存在するため、この認証では堅牢なセキュリティは提供されません。また、パスワード認証は、スクリプトを使用した SSH 接続には適用できません。
このタイプのタスクには、キーによる特別な認証方法があります。ポイントは、クライアントが秘密キーと公開キーを生成し、公開キーがサーバーに送信されることです。その後、認証は公開クライアント キーと秘密クライアント キーに基づいて行われるため、サーバーに接続するためにパスワードは必要ありません。優れたレベルのセキュリティを提供するには、秘密キーへのアクセスを制限する必要があります。秘密キーはクライアント側に保存され、ネットワーク経由で転送されないため、この方法はより安全であると考えられています。
Linux でのキーによる認証
ssh-keygen ユーティリティ ソフトウェアを使用して、クライアントで公開キーと秘密キーを生成してみましょう。ツールは、セキュリティを強化するために秘密キーへのパスを変更し、パスフレーズを入力することを提案します。すべての要求で Enter キーを押して、すべてのパラメーターをデフォルトのままにします。
その結果、ホーム ディレクトリの .ssh フォルダーに次の 2 つのファイルが生成されます。 id_rsa の三脚と id_rsa.pub それぞれに秘密鍵と公開鍵が含まれます。
その後、公開鍵をサーバーに送信する必要があります。そのためには、「id_rsa.pub” ファイルを “~/.ssh/authorized_keys”ファイルをサーバー上に保存します。最も簡単な方法は、”ssh-copy-id” ツールを使用します。通常の接続の場合と同様に、サーバーのログインと IP アドレスを入力します。パスワードを入力すると、クライアントの公開鍵が自動的にサーバーにコピーされます。次のコマンドを実行します。
ssh-copy-id [email protected]
これらをすべて実行すると、サーバーはパスワードの入力を必要としなくなります。
Windows でのキーによる認証
店は開いています パテゲン クリックして "生成するキーを生成するには、マウスを画面上で動かすだけで、ツールがランダムにキーを生成します。
キーが生成されたら、「秘密鍵を保存” と入力し、ディスク上の秘密鍵を含むファイルに保存します。任意のパスを設定できますが、後で 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 で秘密鍵へのパスを指定して、再度サーバーに接続してみましょう。
今後は、サーバーに接続するにはユーザー名を入力するだけで済みます。適切な秘密鍵を持たない別のデバイスからサーバーに接続しようとすると、サーバーはパスワードを要求します。キーベースの認証を設定したら、パスワードによるアクセスを禁止できます。