ssh 和 sudo : pam_unix(sudo:auth): conversation failed, auth 无法识别 [用户名] 的密码

标签 ssh sudo rsync pam

我正面临一个奇怪的行为,试图通过无密码登录的 ssh 将 rsync 作为 sudo 运行。 这是我对几十台服务器所做的事情,我在连接到几个 Ubuntu 18.04.4 服务器时遇到了这个令人沮丧的问题

前提

  1. 使用帐户 USER 从客户端到服务器的无密码 SSH 有效 很好

  2. 当我登录 SERVER 时,我可以使用 sudo 一切 帐户用户

  3. 在 SERVER 上,我已将以下内容添加到 /etc/sudoers

    用户 ALL=NOPASSWD:/usr/bin/rsync

现在,如果我以用户 USER 从机器 CLIENT 启动这个简单测试,我会收到以下 sudo 错误消息:

$ ssh utente@192.168.200.135 -p 2310 sudo rsync
sudo: no tty present and no askpass program specified

此外,查看服务器的 /var/log/auth.log 我发现了这个错误:

sudo: pam_unix(sudo:auth): conversation failed
sudo: pam_unix(sudo:auth): auth could not identify password for [user]

最佳答案

我不是 PAM 专家,但在 Ubuntu 16.04.5 和 20.04.1 上测试了以下解决方案

NOTE : Configuration set to default on /etc/ssh/sshd_config

$ sudo visudo -f /etc/sudoers.d/my_config_file

添加下面几行

my_username ALL=(ALL) NOPASSWD:ALL

别忘了重启sshd

$ sudo systemctl restart sshd

关于ssh 和 sudo : pam_unix(sudo:auth): conversation failed, auth 无法识别 [用户名] 的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62299653/

相关文章:

linux - 无法以 noroot 用户身份更改网络脚本?

mysql - 无法使用 Coda 2 连接到 MySQL 数据库

linux - 如何回应 #!并\n 通过 SSH?

php - 将 bash 换行符转换为 HTML 换行符;在 BASH 中运行良好,但不能通过 shell_exec

linux - Bash:从脚本中以用户身份获取文件

linux - linux下自动创建别名

ssh - rsync 到远程位置退出并显示代码 12

python - 使用带有 EC2 的 boto 在服务器上处理并取回结果的最有效方法是什么?

mysql - 通过 SSH 导入 magento 数据库时出错

linux - 当我通过 SSH 在远程计算机上运行 bash 脚本时,如何在本地计算机上发出声音?