Lyn*_*ens 7 linux debian ssh rsync sudo
我在 Debian 的 root 的 crontab 中使用以下命令。
rsync -vqrlHEAXogDtzhi --log-file=${LOG} --progress --rsync-path="sudo /usr/bin/rsync" --exclude-from=$CONFIG_DIR/excludes -e "ssh -i /home/backups/.ssh/id_rsa" backups@${HOSTNAME}:/ ${BACKUP_DIR}
Run Code Online (Sandbox Code Playgroud)
我得到以下信息:
sudo: no tty present and no askpass program specified
Run Code Online (Sandbox Code Playgroud)
我尝试将 -t 添加到 ssh 命令中,我得到:
Pseudo-terminal will not be allocated because stdin is not a terminal.
Run Code Online (Sandbox Code Playgroud)
我尝试将 -t -t 添加到 ssh 命令中,我得到:
protocol version mismatch -- is your shell clean?
Run Code Online (Sandbox Code Playgroud)
我已经向远程设备上的备份用户添加了一个 .hushlogin 文件,并确认我可以使用远程设备的密钥 ssh 作为备份而没有显示任何内容(登录被隐藏)。我仍然收到这些消息。
请注意,我可以成功地使用密钥 ssh 作为远程设备的备份。
请注意,我的 sudo 没有 -tt 选项。
请注意,以下是在源和目标的 /etc/sudoers 文件中设置的:
backups ALL= NOPASSWD:/usr/bin/rsync
Run Code Online (Sandbox Code Playgroud)
请注意,我的 /etc/sudoers 文件没有任何引用:
Defaults requiretty
Run Code Online (Sandbox Code Playgroud)
请注意,我不会在命令中回显我的密码。
怎么给这只猫剥皮?:|
谢谢
归档时间: |
|
查看次数: |
12144 次 |
最近记录: |