キーを使用して Ubuntu サーバーに SSH 接続し、別のコンピューターからはパスワードを使用して SSH 接続することは可能ですか?

キーを使用して Ubuntu サーバーに SSH 接続し、別のコンピューターからはパスワードを使用して SSH 接続することは可能ですか?

自宅に Ubuntu サーバーがあり、SSH キーを使用してラップトップからターミナル経由でログインしています。まれに、主に仕事からこのサーバーにアクセスする必要がありますが、仕事用のラップトップにキーをコピーしたくありません。そのためには、単純なパスワードを使用したいのです。

つまり、SSH 構成ファイルからパスワード ログインを有効にすると、キーが含まれていてもラップトップでもパスワードを要求されることになりますか?

この動作を止める方法はありますか?

ありがとう。

答え1

2つの秘密鍵を使用する

同じ手順でワークステーションをセットアップします(ただしないノートパソコンをセットアップしたときと同じ秘密鍵を使用します。

  • 他のマシンから秘密鍵をコピーする理由はありません。ワークステーションで新しい秘密鍵をまだ生成していない場合は、今すぐ生成してください。また、対応する公開鍵も生成してください。ワークステーションのターミナルで、

タイプ:ssh-keygen -t rsa

  • ワークステーションの公開鍵をサーバーにコピーします。ワークステーションのターミナルで、

タイプ:ssh-copy-id [email protected]

(ただし、実際のユーザー名とホスト名を使用し、後でパスワードを求められた場合はそれを入力します)。

これにより、ワークステーションの公開キーが~/.ssh/authorized_keysサーバー上のそのユーザーのファイルにインストールされます。

  • ステップ 3 はありません。これからは、ワークステーションからサーバーにログインできます。ラップトップからラップトップの秘密のプライベート キーをコピーすることはありません。

詳細

あなたが本当に尋ねているのは

  • Ubuntuサーバー(「ホーム」)があります
  • 私は自分のラップトップ(「ラップトップ」)からUbuntuサーバーにログインします
  • 仕事用のコンピューター (「ワークステーション」) から Ubuntu サーバーにログインすることもできます。

それを実行する正しい方法は何ですか?

  • 両方の場所から同じパスワードでログインするだけでよいと思います。公開鍵認証はパスワードよりもはるかに優れていると誰もが言っているので、これは正しい方法ではないでしょう。(ア)
  • 秘密鍵をラップトップからワークステーションにコピーするだけでよいと思います。秘密鍵はクライアント マシンから出るべきではないと誰もが言っているので、これは正しい方法ではありません。

サーバー上の 1 つのアカウントには 1 つのユーザー名と、当然ながら 1 つの承認済みパスワードがあるということを、人々はよく理解しています。

sshのような公開鍵システムはパスワードシステムよりも優れています。サーバー上の1つのアカウントには1つのユーザー名があり、任意の数の承認された公開鍵、それらはすべて~/.ssh/authorized_keysファイルにリストされています。

詳細はこちら)。

答え2

パスワードとキーベースの両方のアプローチが利用可能な場合でも、ラップトップでキーファイルを使用するように強制することができます。現在 で接続している場合は、以下を編集して追加します。ssh [email protected] -p 22~/.ssh/config

Host your.host.tld
    PreferredAuthentications publickey

この設定ファイルを使用すると、入力をさらに減らすことができます。

Host home
    Hostname your.host.tld
    User user
    PreferredAuthentications publickey
    Port 22

この構成では、 だけが必要ですssh home

パスワードベースのログインを特定の IP アドレスに制限することができます。 では/etc/ssh/sshd_config、パスワードベースの認証を無効にする行があります: PasswordAuthentication no。特定の IP からのログインに対してこれを有効にするには、次を使用します:

Match Address 12.34.56.78
    PasswordAuthentication yes

仕事中でもキーベースの認証を使用することをお勧めします。これは、簡単にブルートフォース攻撃を受けることができないため、パスワードベースの認証よりもはるかに安全です。同じアカウントに複数のキーを持つことができますが、問題にはなりません。

より高度な設定ディレクティブについては、次のマニュアルページを参照してください。ssh_config(5)(サーバー側については、sshd_config(5)

答え3

いいえ、少なくとも私の設定では、パスワード認証を有効にすると、キーがない場合にのみパスワードの入力を求められます。

そうは言っても、インターネットに公開されているサーバーでパスワード認証を有効にすることは決してありません。

関連情報