GNU/Linux >> Linux の 問題 >  >> Ubuntu

パスワード認証が無効になっているマシンにSSHで接続する特定のコンピューターを承認するにはどうすればよいですか?

help.ubuntu.com/community/SSH/OpenSSH/Configureの手順では、パスワード認証を無効にして、「特別に承認したコンピューターからのみ接続できるようにする」ことを推奨しています。しかし、彼らはコンピュータを具体的に承認する方法については述べていません。どうすればいいですか?

承認された回答:

サーバーにアクセスするユーザーごとに、ターミナルで実行します。

ssh-keygen
ssh-copy-id <username>@<serverIPorDNSname>

保存する場所を尋ねられます。デフォルトで問題ありません。パスフレーズの入力を求められます。これは、コンピューターが盗まれたり危険にさらされたりした場合に備えて、キーを暗号化するためのものです。パスフレーズが必要ない場合は、両方のパスフレーズプロンプトを空白のままにします。

最初のコマンドは、実行されている現在のユーザーのsshキーを作成します。 2番目のコマンドはサーバーにSSHで接続し、現在のユーザーのキーをサーバーのログインを許可されているユーザーのリストに追加します。 ssh-copy-idはsshを使用しているため、パスワードログインを無効にする前にこれを行う必要があります。

SSHキーは2つの一致する半分です。半分はみんなに言われ、もう半分は秘密にされます。数学アルゴリズムを使用すると、公開鍵を使用して、秘密鍵で暗号化されたデータを復号化できます。データが公開鍵で正常に復号化された場合、それを暗号化したのは鍵の秘密の半分であったことは間違いありません。したがって、sshキーを使用してログインすると、クライアントは基本的に「let me in」というメッセージ(秘密キーを使用して暗号化)を送信します。サーバーは公開鍵を使用してチェックし、公開鍵が許可されたコンピューターのリストにある場合、ログインは成功します。

ssh-copy-idは、(sshを使用して)ログインを許可されているキーのサーバーリストにパブリックハーフをコピーします(このリストは/home//.ssh/authorized_keys2に保存されます。rootの場合は/root/.ssh/authorized_keys2)。すでにパスワード認証を無効にしている場合でも、コンピューターを追加できます。公開鍵(クライアントコンピューターの/home/username/.ssh/id_rsa.pub)をUSBスティックなどにコピーしてから、id_rsa.pubの内容を/ home/<の最後に追加するだけです。サーバー上のusername>/。ssh/authorized_keys2ファイル。 (これを行うには、cat /media/USB/stick/path/to/id_rsa.pub >>/home/<username>/.ssh/authorized_keys2のようなコマンドを実行します。 サーバー上で。)

関連:タッチパッドが突然機能しなくなった?
Ubuntu
  1. PleskでSSHキーを使用する方法

  2. SSHPass:パスワードなしで(非対話的に)スクリプトを使用してサーバーにSSHで接続する方法

  3. Ssh –公開鍵認証を使用したSshでパスワードプロンプトを引き続き取得しますか?

  1. パスワードなしでRHEL7サーバーにSSHログイン

  2. plinkとcmdと公開鍵を使用してsshサーバーに接続する方法

  3. 特定のディレクトリにSSHで接続する方法は?

  1. パスワードでSSHログインを無効にする方法

  2. OpenSSHを使用してUbuntu/DebianにSSHサーバーをインストールする方法

  3. OpenSSH を使用した SSH リレー サーバー