SSH またはセキュアシェルプロトコル は、コマンドラインを介してセキュリティで保護されていないネットワークを介して別のコンピュータからリモートマシンに安全にアクセスするために使用される暗号化ネットワークプロトコルです。 SSHを使用すると、リモートのLinuxシステムやサーバーでコマンドを実行したり、ファイルを送信/転送したり、通常は1か所からすべてを管理したりできます。
さまざまな場所で複数のLinuxサーバーを操作している場合、またはこれらのサーバーにアクセスするための理想的な時間を節約しようとしている場合は、SSH公開鍵と秘密鍵のペアを使用して、リモートマシンにログインし、パスワードを入力せずにコマンドを実行する。また、SSHキーのペアは、一般的なブルートフォースパスワードハッキング攻撃に対して脆弱ではないため、より安全です。
[あなたも好きかもしれません:Linuxで特定のユーザーにSSHアクセスを制限する方法]
この記事では、SSHキーを作成し、そのキーを使用してパスワードなしで簡単にリモートアクセスできるようにLinuxサーバーを設定するプロセスについて学習します。
ステップ1-SSHキーペアの作成
最初のステップは、ローカルLinuxマシンにログインし、ローカルコマンドラインで次のコマンドを使用してSSHキーペアを作成することです。
$ ssh-keygen -t rsa
次のように表示されます:
Generating public/private rsa key pair. Enter file in which to save the key (/home/ravi/.ssh/id_rsa):
ここで、 ENTERを押すことができます .ssh
のデフォルトの場所にファイルを保持します ディレクトリ。または、プロンプトの後に入力して ENTER を押すと、別のファイル名または場所を選択できます。 。
次に、システムはパスフレーズを入力するように要求します:
Enter passphrase (empty for no passphrase):
パスフレーズは必須ではありませんが、パスフレーズを使用するかどうかはあなた次第です。使用する場合は、キーを不正使用から保護するためのパスフレーズを記載する必要があります。パスフレーズについて言及するときは、システムに接続するためにパスフレーズを入力する必要があります。
もう一度入力して、パスフレーズなしで秘密鍵を生成します:
Enter the same passphrase again:
これで、/home/ravi/.ssh
にRSAタイプの公開鍵と秘密鍵のペアが含まれているはずです。 ディレクトリ:
$ ls -l .ssh/
ステップ2–SSH公開鍵をサーバーにコピーする
SSHキーペアが作成されたら、公開キー(id_rsa.pub)
をコピーします。 図のように、ssh-copy-idコマンドを使用してサーバーのauthorized_keysファイルでアクセスするサーバー上。サーバーのユーザー名とIPアドレスを必ず変更してください:
$ ssh-copy-id [email protected]
キーがコピーされると、パスワードの入力を求められることなくサーバーにログインできるようになります。ただし、SSHキーの作成中にパスフレーズを設定すると、そのときにパスフレーズを入力するように求められます。
ステップ3–SSHパスワードなしでサーバーに接続する
次に、リモートサーバーにログインしてみてください。パスワードやパスフレーズの入力を求められることなく、ホームディレクトリのコマンドラインに移動します。
$ ssh [email protected]
.ssh/
に次の権限が適用されていることを確認してください ディレクトリと.ssh/authorized_keys
ファイル。
$ chmod 700 .ssh/ $ chmod 600 .ssh/authorized_keys
この記事では、SSHキーペアを作成し、公開キーをサーバーにコピーし、パスワードなしでサーバーにアクセスする方法を学びました。