ssh 和 sudo: pam_unix(sudo:auth): 对话失败,auth 无法识别 [用户名] 的密码

2023-12-13

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

PREMISE

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

  2. 当我登录服务器时,我可以使用 sudo 执行所有操作 帐户用户

  3. 在服务器上我添加了以下内容/etc/sudoers

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

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

$ ssh [email protected] -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 :/etc/ssh/sshd_config 上的配置设置为默认值

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

添加以下行

my_username ALL=(ALL) NOPASSWD:ALL

并且不要忘记重新启动 sshd

$ sudo systemctl restart sshd
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ssh 和 sudo: pam_unix(sudo:auth): 对话失败,auth 无法识别 [用户名] 的密码 的相关文章

  • 如何设置 pexpect ssh 会话的列宽?

    我正在编写一个简单的 python 脚本来通过 SSH 连接到 SAN 运行一组命令 最终 每个命令将与时间戳一起记录到单独的日志中 然后退出 这是因为我们连接的设备不支持证书 ssh 连接 并且当前固件版本没有良好的日志记录功能 我似乎遇
  • 当还必须切换用户时使用 JSch 到 SFTP

    我在 Java 客户端中使用 JSch 连接到远程服务器并使用 SFTP 获取一些文件 以下代码对我来说运行良好 JSch ssh new JSch JSch setConfig FileTransferConstants STRICT H
  • 从 Bash 调用的 Expect 脚本的退出状态代码

    我制作了一个 Bash 脚本 它使用 Expect 脚本来自动进行 ssh 登录 该脚本连接到多个服务器并运行一些命令 bash 脚本会提示输入一次登录凭据 我想合并一个功能 其中如果第一个服务器登录失败 脚本将终止 以避免脚本检查下一个服
  • 调试神秘的git+ssh+proxy失败“bash:没有这样的文件或目录”的艰难方法

    我正在尝试通过 SOCKS5 代理克隆 github 存储库 在 ssh config I have Host github com github com ProxyCommand usr bin nc X 5 x 127 0 0 1 70
  • gitosis 要求输入密码

    我已经按照以下说明设置了 gitosis 服务器here http scie nti st 2007 11 14 hosting git repositories the easy and secure way 它对于初始用户来说效果很好
  • SQLPLUS 保存到文件

    我必须为我的数据库类使用 SQLPLUS 我们的第一个作业是简单的保存 我按照说明进行操作 我正在使用 PuTTY 访问 sqlplus 在本练习中使用以下 SQL 命令 并尝试使用 SAVE 和 SPOOL 命令将 SQL 命令和输出保存
  • pexpect 和 ssh:如何在 su - root -c 之后格式化一串命令

    我正在尝试迭代服务器和密码列表来更改一组服务器上的 sshd 配置 以便我可以使用无密码 SSH 密钥通过 root 登录 运行命令 我可以在 bash 中轻松完成此操作 但我正在尝试学习 Python 并且 显然 希望放弃手动输入密码 这
  • 无法验证主机真实性

    我第一次做git pull 在git中提示无法确定主机的真实性 与我生成的私钥相比 RSA密钥指纹不正确 我只是想知道如何更新它以便它读取正确的文件以及为什么它首先读取错误的指纹 我遇到了类似的问题 这意味着远程主机未知 不受信任 修复方法
  • 安全地记住 bash 脚本中的 ssh 凭据[重复]

    这个问题在这里已经有答案了 假设我有一个 bash 脚本 它通过 ssh 在远程计算机上执行命令 Do something here ssh otheruser host command1 Do something else ssh oth
  • 如何在 Python Paramiko 中配置 ssh StrictHostKeyChecking=no 的等效项

    我正在使用 Paramiko 通过 Python 脚本进行 sshing 我的ssh命令如下 ssh A o strictHostKeyChecking no
  • 如何访问 Google Cloud Platform Compute Engine VM 实例的 SSH 密钥?

    我通过 Google Cloud Web 控制台从 CentOS 6 x 映像创建了一个新实例 我在创建表单上看到一个空白 我可以在其中粘贴现有的 SSH 密钥 因为这是我的第一个实例 所以我还没有 我以为它会像 Amazon EC2 一样
  • 如何从脚本向 sudo 提供密码?

    请注意 这是在我的本地计算机上运行的来宾虚拟机 VBox 我不担心安全性 我正在编写一个将在 Linux Ubuntu VM 上执行的脚本myuser用户 该脚本将在下面创建一个非常大的目录树 etc myapp 目前我必须手动完成所有这些
  • 无法通过 SSH 连接到 EC2 实例

    因此 我从网上启动了我的实例 下载了密钥对并安装了它 大约一天的时间里一切都运行良好 然后我重新启动了计算机 但我无法再通过 SSH 连接到它 我尝试重新下载密钥对并重新安装它 但我不断收到 权限被拒绝 公钥 错误 这是详细的输出 我也尝试
  • 通过 SFTP 克隆 Git 存储库

    每次我尝试克隆 Git 存储库时都会遇到致命错误 我运行这个 git clone sftp email protected cdn cgi l email protection git foobar git 我得到这个 fatal Unab
  • 通过 SSH 将变量传递给远程脚本

    我正在通过 SSH 从本地服务器在远程服务器上运行脚本 首先使用 SCP 复制该脚本 然后在传递一些参数时调用该脚本 如下所示 scp path to script server example org another path ssh s
  • 如何在两个不同帐户之间设置无密码身份验证

    我们可以在两台机器的两种不同用途之间设置无密码身份验证吗 例如 计算机A有用户A 计算机B有用户B 我们可以设置密码 ssh 以便计算机 A 上的用户 A 使用其用户帐户 A 登录计算机 B 谢谢你 如果我理解你的问题 你能设置一下吗ssh
  • 使用脚本自动输入 SSH 密码

    我需要创建一个自动向 OpenSSH 输入密码的脚本ssh client 假设我需要通过 SSH 进入myname somehost用密码a1234b 我已经尝试过 bin myssh sh ssh myname somehost a123
  • 无法仅在控制台中启动 androidstudio

    你好 我的问题是下一个 我下载了Android Studio如果我去 路径 android studio bin 我执行studio sh 我收到以下错误 No JDK found Please validate either STUDIO
  • Paramiko ValueError“p 的长度必须恰好为 1024、2048 或 3072 位”

    我正在尝试使用 Python 脚本连接 SFTP 由于 p 错误 我无法连接 import paramiko client paramiko SSHClient client load system host keys client con
  • 如何将命令作为参数传递给 ssh [重复]

    这个问题在这里已经有答案了 我的需要是让这个命令起作用 sshpass p XXXX ssh oStrictHostKeyChecking no email protected cdn cgi l email protection sudo

随机推荐

  • JavaFX 打包:NoClassDefFoundError

    我使用 maven 和 OpenJDK 1 8 打包 JavaFX 应用程序 我的 pom xml 中的相关部分
  • 如何为终端制作动画 bash shell 提示符?

    我想在终端中制作动画光标提示 Ubuntu 14 04 所以我制作这个脚本 while do echo ne r sleep 0 3 echo ne r sleep 0 3 echo ne 一 r sleep 0 3 echo ne r s
  • 从base64字符串获取图像尺寸

    我收到图像的 base64 字符串并将其用作 html 页面的源 反过来 img 是 div 的子级 我想让 div 根据图像尺寸自动调整大小 尝试使用 javascript element style height 获取图像的尺寸 但它不
  • 什么是烫发空间?

    在学习 Java 内存分析时 除了 堆 之外 我还不断看到术语 永久空间 我知道堆是什么 什么是 Perm 空间 它代表永久代 永久代很特殊 因为它包含描述的元数据 用户类别 不是的类别 Java 语言的一部分 例子 这些元数据的一部分是对
  • Glassfish 在哪里将类加载器委托选项设置为 false

    我有一个 Web 应用程序 在 glassfisch 3 1 2 上运行 我遇到了 ClassCastException 我想尝试通过将类加载器委托设置为 false 来解决它们 我无法弄清楚在哪里 什么文件 插入以下 xml 标记
  • PHP 根据另一个数组中的文本重复项求和数组值

    我有两个数组 两个数组的计数长度始终相同 第一个具有与整数混合的双精度值 第二个具有文本 仅字符串 值 它们确实相关 所以我需要它们都保持有序 抱歉 没有可用的键 按设计 我需要对包含字符串的数组中重复的值进行求和 Example data
  • Visual Basic 如何读取 CSV 文件并在数据网格中显示值?

    我正在使用 VB 2005 如何打开 CSV 文件并读取列 行并在数据网格中显示值 CSV 文件示例 杰史密斯 电子邮件受保护 然后我想对每一行 即每个用户 执行一个操作 我该怎么做 正如你所知 我是一个新手 但很乐意学习 Thanks U
  • React - TypeError:无法读取未定义的属性“图像”

    所以我正在为一个副项目创建一个电子商务商店 但我遇到了一个问题 在主页上我有所有产品 并且我已经为产品详细信息创建了一条路线 当我点击其中之一时 它会获取 id 并应输出所有产品详细信息 我在 JSON 数组 data js 中有有关产品的
  • 使用具有多个条件的sql获取总和

    我的列中的数据为 Process Volume TAT 1 1 Pass 1 2 Fail 2 5 Fail 2 5 Pass 3 1 Pass 4 6 Fail 4 4 Pass 现在按流程分组 我想要体积总和 不考虑任何 TAT TAT
  • 对当前行号着色

    我在用global linum mode对于行号 如果当前行的行号用不同的颜色 和 或不同的背景 突出显示 那就太好了 有人知道如何实现这一目标吗 谢谢你 我从之前的回答中得出了这个答案Emacs 中的相对行号 因为它处理在 linum 格
  • 什么时候应该在 C# 4.0 中使用动态关键字?

    什么时候应该在 c 4 0 中使用动态关键字 c 4 0 中任何带有动态关键字的好例子可以解释其用法 只能使用动态不使用时会很痛苦 就像 MS Office 库一样 在所有其他情况下 应该避免它 因为编译类型检查是有益的 以下是使用动态的良
  • nuget 包中的 .targets 文件 - 如何将内容文件包含到构建中

    我有一个 nuget 包 例如 build SharedTargets targets content File cs SharedTargets targets 看起来像
  • Famo.us 引擎中提供哪些活动

    我想知道 Famo us 引擎对象可以订阅哪些事件 来自 Famo us大学 引擎还会发出某些事件 例如 预渲染 和 后期渲染 然而 由于这些事件的频繁发生 他们 仅应在绝对必要时使用 还有其他方便的引擎事件 即 调整大小 那么 引擎发出的
  • Azure 和 Node js __dirname

    可能它与 webpack memory fs 没有特别相关 但我得到了RangeError Maximum call stack size exceeded错误 请参阅下面的调用堆栈 我发现 那 dirname在 Azure webapp
  • 没有为类“Object?”定义运算符“[]”

    班图 萨亚 温图克 梅梅卡坎 玛萨拉 迪巴瓦 伊尼 import package cloud firestore cloud firestore dart class UserModel static const NUMBER number
  • 为什么 sizeof(std::string) 只有八个字节?

    Why is std string的大小 由下式确定sizeof std string yield 8 我认为应该超过8因为它必须有一个int sizeof int 8在我的机器上 用于给予的数据成员std string length an
  • 根据 R 中另一列的值将随机值分配给列

    我有一个数据集 其股票代码范围为 2 90214 大约有 3000 个唯一值 显然 2 到 90214 之间的一些值被跳过 我想转换这些股票代码 使它们的范围从1到3000 这样如果以前的股票代码是1234 那么每次出现这个数字时 都会分配
  • 如何更改数据库中的所有表以使用 AUTO_INCRMENT=1

    我的数据库中有大约 30 个表 table1 table2 table3 table4 table5 etc 我希望使用所有表AUTO INCREMENT 1 如何修改表格 以下是其中一张表的示例 DDL 我从来没有定义过AUTO INCR
  • 无法分配“>”:“Comment.user”必须是“MyProfile”实例

    你好 我知道我这里有两个问题 一个是一个SimpleLazyObject我可以用一种有点黑客的方式解决这个问题 另一个是 Comment user 必须是一个 MyProfile 我不知道如何解决这个问题 我认为在某种程度上 事情变得混乱了
  • ssh 和 sudo: pam_unix(sudo:auth): 对话失败,auth 无法识别 [用户名] 的密码

    我遇到了一个奇怪的行为 试图通过 ssh 使用无密码登录来运行 rsync 作为 sudo 这是我对数十台服务器所做的事情 我在连接到几个 Ubuntu 18 04 4 服务器时遇到了这个令人沮丧的问题 PREMISE 使用帐户 USER