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

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

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

この記事では、CentOS8でSSHキーを生成する方法について説明します。 SSHキーを設定し、パスワードなしでリモートサーバーに接続する方法を説明します。

1. CentOS ##でSSHキーを作成します

CentOSクライアントにはすでにSSHキーペアがあります。新しいキーペアを生成する場合、古いキーペアは上書きされます。

次の lsコマンドを実行して、キーファイルが存在するかどうかを確認します。

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

コマンドラインの出力が次のようになっている場合:「そのようなファイルまたはディレクトリがありません」または「一致するものが見つかりません」は、ユーザーがSSHキーペアを持っていないことを意味し、次の手順に進んで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):

インタラクションプロセス全体は次のようになります。

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

ls ~/.ssh/id_*

出力:

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

2.公開鍵をサーバーにコピーします##

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 ofkey(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"

3つ目は、SSHキーを使用してサーバーにログインすることです##

上記の手順を完了すると、パスワードを入力せずにリモートサーバーに直接ログインできるようになります。

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

ssh remote_username@server_ip_address

秘密鍵のパスワードを設定しないと、すぐにサーバーにログインできるようになります。それ以外の場合は、パスワードの入力を求められます。

第四に、パスワード検証を無効にします##

リモートサーバーをより安全にするために、SSHパスワード認証を無効にすることができます。

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

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

  1. リモートサーバーにログインします。
ssh sudo_user@server_ip_address
  1. テキストエディタでSSH構成ファイル etc / ssh / sshd_configを開きます。
sudo nano /etc/ssh/sshd_config
  1. 次のコマンドを検索し、次のように変更します。
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
  1. 完了したら、ファイルを保存してSSHサーバーを再起動し、次のように入力します。
sudo systemctl restart ssh

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

5、要約##

新しいSSHキーペアを生成し、SSHベースの認証を設定する方法を示します。同じキーを使用して、複数のリモートサーバーを管理できます。パスワード検証を無効にし、サーバーのセキュリティを強化する方法を学びました。

デフォルトでは、SSHはポート22でリッスンします。このデフォルトのSSHポートを変更すると、自動攻撃のリスクを減らすことができます。ワークフローを簡素化するには、SSH構成ファイルを使用してすべてのSSH接続を定義します。

Recommended Posts

CentOS8でSSHキーを設定する方法
CentOS7でApache仮想ホストを設定する方法
Ubuntu14.04でGogsを設定する方法
Ubuntu14.04でRを設定する方法
CentOS8でNginxサーバー構成ブロックを設定する方法
Ubuntu14.04でShinyServerをセットアップする方法
Ubuntu18.04で時刻同期を設定する方法
Ubuntu18.04でDNSサーバーを設定する方法
CentOS8にMySQLをインストールする方法
CentOS 7はNTP、SSHサービスをセットアップします
CentOS8にMemcachedをインストールする方法
CentOS8にRをインストールする方法
CentOS8にFFmpegをインストールする方法
CentOS8にVirtualboxをインストールする方法
CentOS8にTensorFlowをインストールする方法
Centos7でgcc4.9.xに更新する方法
CentOS8にTeamViewerをインストールする方法
CentOSにPerl5をインストールする方法
CentOS8にGitをインストールする方法
CentOS8にGradleをインストールする方法
CentOS8にElasticsearchをインストールする方法
CentOS8にJenkinsをインストールする方法
CentOS8にJavaをインストールする方法
CentOS8にGoをインストールする方法
CentOS8にGCCをインストールする方法
CentOS8にYarnをインストールする方法
CentOS8にNginxをインストールする方法
CentOS7にAsteriskをインストールする方法
CentOS8にJenkinsをインストールする方法
CentOS8にVagrantをインストールする方法
CentOS8にPython3.8をインストールする方法
CentOS8にTomcat9をインストールする方法
CentOS8にWebminをインストールする方法
CentOS8にRubyをインストールする方法
CentOS8にSkypeをインストールする方法
CentOS8にhtopをインストールする方法
CentOS8にPythonをインストールする方法
CentOS8にElasticsearchをインストールする方法
CentOS8にPostgresqlをインストールする方法
CentosにWordpressをインストールする方法
CentOS8にhtopをインストールする方法
CentOS8にTeamViewerをインストールする方法
CentOS7にスワップを追加する方法
CentOS8にMariaDBをインストールする方法
CentOS7にMongoDBをインストールする方法
CentOS8にOdoo13をインストールする方法
CentOS8にApacheをインストールする方法
CentOS8でSELinuxを無効にする方法
CentOS8にOpenCVをインストールする方法
CentOS8にPHPをインストールする方法
CentOS8にMongoDBをインストールする方法
UbuntuとRaspbianでJavaホームを設定する方法
Ubuntu14.04でMasterlessPuppet環境をセットアップする方法
Ubuntu14.04でUFWを使用してファイアウォールを設定する方法
Ubuntu16.04で匿名ダウンロード用にvsftpdを設定する方法
Ubuntu14.04で本番Elasticsearchクラスターをセットアップする方法
Ubuntu16.04でApache仮想ホストを設定する方法
Ubuntu20.04でApache仮想ホストを設定する方法
Ubuntu14.04でNginxを使用してパスワード認証を設定する方法
Ubuntu16.04でユーザーディレクトリ用にvsftpdを設定する方法
CentOSでGitサーバーをセットアップするための詳細な手順