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

ssh - 部分的なパスワードでログインできるのはなぜですか?

チャットでは、システムが従来の (非シャドウ) パスワード ストレージと従来の Unix パスワード ハッシュ アルゴリズムを使用していることが判明しました。どちらも、今日のセキュリティ環境では適切な選択ではありません。

従来のパスワード ハッシュ アルゴリズムは、パスワードの最初の 8 文字のみを格納して比較するため、元の質問で気づいた動作が説明されます。

投稿された sshd 出力には次の行が含まれます:

Could not get shadow information for user

これは少なくとも sshd を意味すると思います (またはおそらく PAM Unix パスワード ストレージ ライブラリ) には、このシステムにシャドウ パスワード機能が含まれていますが、何らかの理由で、システム ベンダーはそれを使用しないことを選択しました。


BusyBox ベースのディストリビューションでは、Yocto で構築されたものと同様に、BusyBox 構成で適切なオプションを有効にすることでおそらく修正できます。このソリューションは、レシピがあり、独自の適応した OS イメージ、または少なくとも適切な BusyBox バイナリを構築できることを前提としています。また、(libc から) 利用可能な高度な暗号化ハッシュ アルゴリズム (少なくとも SHA-256、より良い SHA-512) も必要です。

BusyBox 構成で、設定

  • ログイン/パスワード管理ユーティリティ
    • シャドウ パスワードのサポート →有効
    • 内部暗号化機能を使用する →無効
    • デフォルトのパスワード暗号化方法sha512 または sha256

さらに /etc/passwd の内容 と /etc/shadow 適応する必要があります。 g.強化された BusyBox ビルド (passwd) のコマンド ライン ツールを使用する 、 mkpasswdchpasswd )、または EXTRA_USERS_PARAMS を使用してイメージのビルド中にそれらを設定する :

EXTRA_USERS_PARAMS = " \
    usermod -p '\$6\$<salt>\$<encrypted_pwd>' root; \
    useradd -m -s /bin/sh -G … -u … -p '…' <username>; \
    "

Linux
  1. パスワードなしでSSHログインを設定する方法

  2. sshpassを使用したLinuxでのSSHパスワードの自動化

  3. Ssh –パスワードなしでSudoを実行できる場合、Sudoを実行するにはTtyが必要ですか?

  1. 部分的なパスワードでログインできるのはなぜですか?

  2. リセラーまたはルートパスワードを使用してcPanelにログインします

  3. Linux で空のパスワードで ssh を許可する方法

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

  2. sshpass コマンド:SSH による非対話型パスワード認証

  3. subprocess.Popen を使用して SSH または SCP 経由でパスワードを送信する