私達の会社はUbuntuシステムのための非常に長いパスワードを提供します。このパスワードは繰り返し認証時に入力するのが難しいですsudo
。
sudo
自分のアカウントに関連付けられているパスワード以外のパスワードで認証できますか?または、sudo
パスワードのない認証を完全に有効にできますか?
答え1
sudo
管理するキーの知識と認証を関連付けることができます。ssh-agent
。これは次のことで達成できます。ポリアクリルアミドそしてpam_ssh_agent_auth
基準寸法。特に認証のために別々の鍵ペアを生成できますsudo
。パスワードは、秘密鍵を暗号化するために使用されるパスワードです。
pam_ssh_agent_auth
モジュールを設定するには、次を追加します。/etc/pam.d/sudo
今後その他のauth
指示include
:
auth sufficient pam_ssh_agent_auth.so file=/etc/security/authorized_keys
また、以下を追加してsudo
環境変数が削除されないことを知らせる必要があります。SSH_AUTH_SOCK
/etc/sudoers
visudo
Defaults env_keep += "SSH_AUTH_SOCK"
次に、認証トークンとして機能するキーの公開部分を追加します/etc/security/authorized_keys
。-t
スイッチを次に追加することもできます。ssh-add
ssh-agent
デフォルトの動作を模倣するために、短い寿命のキーを追加するかsudo
(最後の入力から一定時間が経過するとパスワード確認メッセージを表示する)、-c
キーを使用して確認を認証するたびにスイッチを使用してパスワードをトリガーすることもできます。
Ubuntuのデフォルト値は次のとおりです。GNOMEキーチェーン私が知る限り、SSH鍵管理のためにキータイムアウト設定は現在許可されていません。。以下を追加すると、GNOME KeyringでSSHキー管理を完全に無効にできます~/.config/autostart/gnome-keyring-ssh.desktop
。
[Desktop Entry]
Type=Application
Name=SSH Key Agent
Comment=GNOME Keyring: SSH Agent
Exec=/usr/bin/gnome-keyring-daemon --start --components=ssh
OnlyShowIn=GNOME;Unity;MATE;
X-GNOME-Autostart-Phase=Initialization
X-GNOME-AutoRestart=false
X-GNOME-Autostart-Notify=true
X-GNOME-Autostart-enabled=false
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-keyring
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=3.10.1
NoDisplay=true
X-Ubuntu-Gettext-Domain=gnome-keyring
/etc/xdg/autostart/gnome-keyring-ssh.desktop
主な違いは次のとおりです。
X-GNOME-Autostart-enabled=false
答え2
Ubuntuシステムでrootアカウントを有効にできる場合は、sudo
ユーザーパスワードを呼び出すのではなく、rootパスワードの入力を求めるように次のように設定できます/etc/sudoers
(使用visudo
)。
Defaults rootpw
Ubuntuはデフォルトでrootアカウントを無効にしますパスワードをロックしてください。有効にするには、新しいパスワードを設定してくださいroot
。
$ sudo passwd root
ルートパスワードを使用して認証を有効にしたい場合でも、sudo
すべての内容を消去またはコメントアウトして、ローカルコンソールデバイスでルートログインを無効にできます。/etc/securetty
。ただし、空の/ etc / securettyファイルはそうではありません。いいえOpenSSHやその他の影響を受けない手段を使用して、rootユーザーがリモートでログインするのを防ぎます。pam_securetty.so
(例えばsu
、、、、、、、)。 OpenSSH は、スタンザを介したルートログインを防ぐように特別に設定できますが、これを行う場合は、次の点に注意する必要があります。sudo
ssh
scp
sftp
PermitRootLogin no
/etc/ssh/sshd_config
その他の影響これはあなたの状況に関連している可能性があります。
答え3
次のようにsudoの動作を変更してパスワードの入力を軽減してください。
これはからのものですChromiumOSのヒントとコツページ:Sudoをより寛大にする
cd /tmp
cat > ./sudo_editor <<EOF
#!/bin/sh
echo Defaults \!tty_tickets > \$1 # Entering your password in one shell affects all shells
echo Defaults timestamp_timeout=180 >> \$1 # Time between re-requesting your password, in minutes
EOF
chmod +x ./sudo_editor
sudo EDITOR=./sudo_editor visudo -f /etc/sudoers.d/relax_requirements
何が行われたかわからない場合は、tty_tickets is now false
これはすべてのttyで認証する必要がないことを意味します。 Timestamp_timeout is set to every 3 hours
つまり、3時間ごとにパスワードを入力するという意味です。パスワードを入力する時間と3時間の制限の間には、制限sudo some command
時間が切れるまでパスワードを入力するように求められません。
relax_requirement
これでsudoを制御するために使用できます。利用可能なオプションは次のとおりです。Sudor マニュアル。太い部分を探すSudor オプション。私が説明したものに加えて、多くのオプションがあります。これを行うには、PAMなどを変更する必要はなく、PAMがあるかどうかにかかわらず、すべてのシステムで機能します。
答え4
/etc/sudoers
選択したエディタを使用してファイルを編集したり、特定のユーザーがパスワードなしでコマンドを使用できるvisudo
ように行を実行して追加したりできます。sudo
それは次のとおりです。
user ALL = NOPASSWD : ALL