公共のコンピュータでSSH接続を安全に設定してください。

公共のコンピュータでSSH接続を安全に設定してください。

今日は、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桁の使い捨てパスワードを生成する認証アプリケーションを実行する必要があります。ユーザーはそれをサイトに提供し、サイトは正確性を確認し、ユーザーを認証します。

  1. まず、libpam-google-authenticatorお気に入りのパッケージマネージャからインストールしてください。ソースコードはこちら
  2. auth required pam_google_authenticator.so設定ページに2段階認証プロセスを追加して有効にします/etc/pam.d/sshd
  3. ファイルにに設定されていることを確認してくださいChallengeResponseAuthenticationyes/etc/ssh/sshd_config
  4. 2段階認証プロセスを使用するユーザーとしてログインし、実行して手順にgoogle-authenticator従ってください。便宜のため、端末に美しいQRコードも印刷します。
  5. SSHサーバーを再起動してみてください!

sudoersこれにより、Google OTPパスワード認証のみでグループにアカウントを作成できます。静的パスワードがなく、信頼性が高く、まだルートアクセスが可能です。

ただし、このソリューションは、キーロガーがパブリックコンピュータが提供する唯一の脅威であると想定しています。

関連情報