GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7でSSHキーを設定する方法

Secure Shell(SSH)は、クライアントとサーバー間の安全な接続のために設計された暗号化ネットワークプロトコルです。

最も一般的な2つのSSH認証メカニズムは、パスワードベースの認証と公開鍵ベースの認証です。 SSHキーの使用は、通常、従来のパスワード認証よりも安全で便利です。

このチュートリアルでは、CentOS7システムでSSHキーを生成する方法について説明します。また、SSHキーベースの認証を設定し、パスワードを入力せずにリモートLinuxサーバーに接続する方法についても説明します。

CentOSでのSSHキーの作成#

新しいSSHキーペアを生成する前に、CentOSクライアントマシンで既存のSSHキーを確認することをお勧めします。

これを行うには、次のlsコマンドを実行して、公開鍵がある場合はそれをすべて一覧表示します。

ls -l ~/.ssh/id_*.pub

コマンドの出力がNo such file or directoryのようなものを返す場合 またはno matches found これは、クライアントマシンにSSHキーがないことを意味し、次の手順に進んでSSHキーペアを生成できます。

既存のキーがある場合は、それらを使用して次の手順をスキップするか、古いキーをバックアップして新しいキーを生成することができます。

コメントとしてメールアドレスを使用して、新しい4096ビットのSSHキーペアを生成することから始めます。

ssh-keygen -t rsa -b 4096 -C "[email protected]"

ファイル名を指定するように求められます:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

Enterを押します デフォルトのファイルの場所とファイル名を受け入れます。

次に、安全なパスフレーズを入力するように求められます。パスフレーズを使用するかどうかは、あなた次第です。パスフレーズを使用することを選択した場合は、セキュリティがさらに強化されます。

Enter passphrase (empty for no passphrase):

パスフレーズを使用したくない場合は、Enterを押してください。 。

全体の相互作用は次のようになります:

新しいSSHキーペアが生成されたことを確認するには、次のように入力します。

ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub
公開鍵をCentOSサーバーにコピーします#

SSHキーペアが生成されたので、次のステップは、管理するサーバーに公開キーをコピーすることです。

公開鍵をリモートサーバーにコピーする最も簡単で推奨される方法は、ssh-copy-idというユーティリティを使用することです。 。ローカルマシンの端末タイプ:

ssh-copy-id remote_username@server_ip_address

remote_usernameを入力するように求められます パスワード:

remote_username@server_ip_address's password:

パスワードを入力し、ユーザーが認証されると、公開鍵~/.ssh/id_rsa.pub リモートユーザーに追加されます~/.ssh/authorized_keys ファイル。接続が閉じられます。

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@server_ip_address'"
and check to make sure that only the key(s) you wanted were added.

ssh-copy-idの場合 ローカルコンピュータでユーティリティを使用できない場合は、次のコマンドを使用して公開鍵をコピーします。

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

SSHキーを使用してサーバーにログインします#

上記の手順を完了すると、パスワードの入力を求められることなく、リモートサーバーにログインできるようになります。

確認するには、SSH経由でサーバーにログインしてみてください:

ssh remote_username@server_ip_address

秘密鍵のパスフレーズを設定していない場合は、すぐにログインします。それ以外の場合は、パスフレーズを入力するように求められます。

SSHパスワード認証の無効化#

リモートサーバーにセキュリティの層を追加するために、SSHパスワード認証を無効にすることができます。

続行する前に、sudo権限を持つユーザーとしてパスワードなしでサーバーにログインできることを確認してください。

SSHパスワード認証を無効にするには、以下の手順に従います。

  1. リモートサーバーにログインします:

    ssh sudo_user@server_ip_address
  2. SSH構成ファイル/etc/ssh/sshd_configを開きます テキストエディタで:

    sudo nano /etc/ssh/sshd_config
  3. 次のディレクティブを検索し、次のように変更します。

    / etc / ssh / sshd_config
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    UsePAM no
  4. 完了したら、ファイルを保存し、次のように入力してSSHサービスを再起動します。

    sudo systemctl restart ssh

この時点で、パスワードベースの認証は無効になっています。


Cent OS
  1. SSHキーを設定する方法

  2. Ubuntu16.04でSSHキーを設定する方法

  3. Ubuntu18.04でSSHキーを設定する方法

  1. CentOS 7でSSHキーを設定する-ステップバイステップのプロセス?

  2. CentOS8でSSHキーを設定する方法

  3. Debian で SSH キーを設定する方法

  1. CentOS7でSSHキーを生成および設定する方法

  2. パスワードなしのSSHログインを設定する方法

  3. Debian10でSSHキーを生成および設定する方法