Secure Shell(SSH)は、リモートサーバーのログインとコマンドの実行に使用される信頼できるオープンソースのネットワークプロトコルです。 SSHは、SCP(セキュアコピー)プロトコルを使用して、あるコンピューターから別のコンピューターにファイルを転送したり、リモートサーバーからローカルコンピューターにファイルをダウンロードしたりするためにも使用されます。
SSHは2つの方法で有効にできます
- キーベースの認証
- パスワードベースの認証
キーベースの認証は、一般にパスワードなしのログインとして知られています。
この記事では、ssh-keygenとssh-copy-idを使用してパスワードなしのログインを有効にする方法について説明します。
ssh-keygenは秘密鍵と公開鍵を生成し、ssh-copy-idはローカルホストの公開鍵をリモートサーバーのauthorized_keysファイルにコピーします。 Ssh-copy-idは、適切な権限をリモートホストに自動的に割り当てます。
ssh-keygenを使用してsshキーペアを生成し、リモートホストにコピーします
次のコマンドを実行して、公開鍵と秘密鍵を生成します。
$ ssh-keygen
キーファイルとパスフレーズを保存するディレクトリを設定するように求められます。 Enterキーを押すだけで、各ステップのデフォルトを設定して続行できます。
ユーザーのホームディレクトリで次のコマンドを実行して、生成されたファイルを一覧表示します。
$ cd ~/.ssh
id_rsaおよびid_rsa.pubファイルを見ることができます。 Id_rsaは秘密鍵ファイルであり、秘密にしておく必要があります。一方、id_rsa.pubは公開鍵ファイルであり、リモートサーバーにコピーする必要があります。
次に、次のコマンドを実行して、公開鍵をリモートホストにコピーします。
構文
$ ssh-copy-id [email protected]_host_ip
例
$ ssh-copy-id [email protected]
パスワードを入力せずにログインしてみてください
$ ssh [email protected]_host_ip
例
$ ssh [email protected]
出力は、パスワードなしのログインが成功したことを示しています。パスワードを入力する必要はありません。
id_rsaの内容を手動でコピーして、リモートサーバーのauthorized_keysファイル内に貼り付けることもできます。これはssh-copy-idがあなたのために行うことです。
結論
この記事では、ssh-keygenとssh-copy-idを使用してsshパスワードなしのログインを有効にする方法を学びました。提案やフィードバックがある場合は、下にコメントをドロップしてください。