パスワードを使用してSudoを使用し、SSH経由でファイルに添付する

パスワードを使用してSudoを使用し、SSH経由でファイルに添付する

私がしたいことは次のとおりです。

リモートホストにSSHで接続します。

ログインしたユーザーのAuthorized_keysファイルにあるpublic_keysを、すべてのユーザーの.ssh/authorized_keysファイルに追加します。

1行にパスワードを使用してsudo&catを試すのに問題があります。この問題を解決する方法を知っている人はいますか?

私がこれを達成するために努力する方法の一つです。

ssh -t $userHost -p $remotePort \
"for localUser in $(ls /home | grep -v $USER); \ 
do sudo mkdir -p /home/$localUser/.ssh && \
cat /home/$USER/.ssh/authorized_keys | sudo tee --append \
/home/$localUser/.ssh/authorized_keys > /dev/null; done"

しかし、sudoコマンドはsshコマンドでは機能しないようです。 sudoers ファイルの NOPASSWD はオプションではありません。

ベストアンサー1

sudoパスワードを使用するには、ttyリモートコマンドの実行は割り当てられませんtty。したがって、許可しないと機能しませんNOPASSWD

代わりに、スクリプトをシェルとして使用し、コマンドを実行するスクリプトを使用してリモートサーバーに強制アカウントを持つことを検討してください。キーベース認証を使用して強制アカウントにログインすると、パスワードを2回入力せずにスクリプトを自動的に実行できます。スクリプトの最後の行からexitログアウトコマンドを実行します。これは基本的に対話型セッションなので、ttyパスワードを入力でき、入力する必要があるキーストロークの数は変わりません。

私が知らないsudoの新機能がなければ、他の方法は考えられません。

おすすめ記事