web-dev-qa-db-ja.com

ユーザー/ IPのSSHキーを削除します。 OpenSSH / sshdを実行しているサーバーへのアドレス

最近、ディストリビューションを最新のLTSにアップグレードする際に問題が発生し、ローカル管理者がユーザー名を使用してssh経由でラップトップにログインし、rootアクセスを許可しました。

これは役に立ちましたが、sshがsshにアクセスできないようにして、マシンを保護したいと思います。

  • このユーザー用に作成されたsshキーを見つけて削除することは可能ですか?

  • これにより、それ以上のアクセスが妨げられますか?

  • クライアントのsshキーはどこに保存されますか?

少し見て回ったところ、編集中のようです/etc/ssh/sshd_configおよびコメント解除PermitRootLogin noは1つの解決策ですが、自分でログインして将来rootアクセスを取得することを妨げているようです。

1
nonreligious

ここでいくつかのことを、最初にあなたはユーザーを削除することができます

Sudo userdel -r <username>

次に、秘密鍵は〜/ .ssh/identityに保存されます。これは、彼のマシン上にあり(unix/linuxベースのシステムを使用していると仮定)、問題ではありません。公開鍵は〜/ .ssh/identity.pubに保存されるため、ユーザーアカウントを削除すると、-rフラグによって.sshディレクトリを含むホームディレクトリも削除されます。セットアップを機能させるには、公開鍵をリモートマシンの/root/.ssh/authorized_keysに配置する必要があります。したがって、彼の鍵もそこで削除されていることを確認してください。

最後に、とにかく上記の変更を加える必要があります。 PermitRootLoginは、sshアクセスにのみ関係します。 noに設定すると、ユーザーアカウントでSSH接続し、次にSudo suそしてあなたのルートをバムします。とにかくそれを設定する方法です。

また、SSHセキュリティを向上させるためにいくつかの追加の変更を加えることをお勧めします。

公開鍵とパスワードの両方の設定

/ etc/ssh/sshd_configファイルを編集します。ファイルに次の行を追加します。

AuthenticationMethods publickey,password

警告:PasswordAuthenticationが次のようになっていることを確認してください:

#PasswordAuthentication yes

これには、ユーザーが有効なユーザーアカウントとパスワード、およびSSHで接続するためのボックスの公開鍵を持っている必要があります。

0
ColonelMeow