私がパスワード認証を維持したいので、私のために働いたものはここにあります(したがって、私はNOPASSWD
キーまたはキーを使用したくない)-Ubuntu 14.04で:
- 一時ファイル(Debianでサポートされている必要があります、を参照)を
sudo
無効にしtty_tickets
てリモートマシンで「開く」、「sudoタイムアウトをさらに15分間延長する」「ユーザーのキャッシュされた資格情報を更新する」/etc/sudoers.d/
/etc/sudoers.d/README
- 他の回答に示され
rsync
てsudo
いるようにwith を実行します
sudo
の一時ファイルを削除することにより、リモートマシンで「閉じる」/etc/sudoers.d/
ことにより、再び有効になりますtty_tickets
...または、コマンドラインで:
ssh -t $REMOTEPC 'echo "Defaults !tty_tickets" | sudo tee /etc/sudoers.d/temp; sudo -v'
rsync -aP -e 'ssh' '--rsync-path=sudo rsync' /etc/pulse/client.conf $REMOTEPC:/etc/pulse/client-copy.conf
ssh -t $REMOTEPC 'sudo rm -v /etc/sudoers.d/temp; sudo -v'
これらは、ローカルマシンでこれらのコマンドを実行したときに得られる応答です。
$ ssh -t $REMOTEPC 'echo "Defaults !tty_tickets" | sudo tee /etc/sudoers.d/temp; sudo -v'
remoteuser@$REMOTEPC's password:
[sudo] password for remoteuser:
Defaults !tty_tickets
Connection to $REMOTEPC closed.
$ rsync -aP -e 'ssh' '--rsync-path=sudo rsync' /etc/pulse/client.conf $REMOTEPC:/etc/pulse/client-copy.conf
remoteuser@$REMOTEPC's password:
sending incremental file list
client.conf
1269 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/1)
$ ssh -t $REMOTEPC 'sudo rm -v /etc/sudoers.d/temp; sudo -v'
remoteuser@$REMOTEPC's password:
removed ‘/etc/sudoers.d/temp’
[sudo] password for remoteuser:
Connection to $REMOTEPC closed.
のsudo -v
各ファイルの後に実行する必要があることに注意してください/etc/sudoers.d/
。そのため、変更は受け入れられます。