今日は、VPNサーバーの問題を解決するために自宅のDebianコンピュータにリモートで接続する必要がありました。
この問題を解決するためにSSHクライアントを搭載したiPhoneを使用しましたが、小さな画面サイズと仮想キーボードのために問題が発生しています。パブリック(Windows)コンピュータがあれば、コンピュータに接続するために使用できると思いました。そうだと思いますが、コンピュータにキーロガーがあるようで、私のルートパスワードが「ログ」になっている可能性があります。また、Windowsシステムなので、SSHクライアントがインストールされていないため、オンラインSSHクライアント(キー入力も記録されている)を使用する必要がありました。
私の質問は次のとおりです。
次に、パブリックコンピュータでSSHを接続する必要があるときに心配する必要がないように、Debianコンピュータを保護するにはどうすればよいですか?
答え1
Debian コンピュータにパスワードの代わりに公開鍵と秘密鍵を要求してもらえますか? sshd_configファイルでこの設定を変更できます。ただし、その前にssh-copy-keysを使用してキーを生成してサーバーにインストールするだけです。このプロセスの後、誰もユーザーとパスワードを推測しようとすることはできません。アクセスできる唯一の方法は鍵を保持することです。安全にするには、鍵を生成するときにパスワードを提供する必要があるためです。私は怠惰でサーバーにログインするたびにパスワードを入力したくない場合もこれを行います。
答え2
パブリック接続の最大の問題はパスワードです。誰かが私のユーザー名/私がしていることを知っているかどうかは関係ありません。しかし、重要なことは、彼らが私のパスワードをどのように再利用したかです。
2段階認証プロセスでSSHアクセスを保護することをお勧めします。 SSH ログイン用に Google Authenticator を有効にする方法を説明する次のリンクが見つかりました。https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-two-factor-authentication
知らない人のためにウィキペディア役割の説明:
通常、ユーザーはスマートフォンに認証アプリをインストールします。 2段階認証プロセスを使用するサイトまたはサービスにログインするには、サイトにユーザー名とパスワードを提供し、さらに6桁の使い捨てパスワードを生成する認証アプリケーションを実行する必要があります。ユーザーはそれをサイトに提供し、サイトは正確性を確認し、ユーザーを認証します。
- まず、
libpam-google-authenticator
お気に入りのパッケージマネージャからインストールしてください。ソースコードはこちら auth required pam_google_authenticator.so
設定ページに2段階認証プロセスを追加して有効にします/etc/pam.d/sshd
。- ファイルにに設定されていることを確認してください
ChallengeResponseAuthentication
。yes
/etc/ssh/sshd_config
- 2段階認証プロセスを使用するユーザーとしてログインし、実行して手順に
google-authenticator
従ってください。便宜のため、端末に美しいQRコードも印刷します。 - SSHサーバーを再起動してみてください!
sudoers
これにより、Google OTPパスワード認証のみでグループにアカウントを作成できます。静的パスワードがなく、信頼性が高く、まだルートアクセスが可能です。
ただし、このソリューションは、キーロガーがパブリックコンピュータが提供する唯一の脅威であると想定しています。