Sla*_*ast 9 linux ssh sudo passwords
我的本地(虚拟)计算机上有一个具有 sudo 权限的用户,当我使用该用户登录时,我可以运行 SUDO 命令,例如:
$ sudo ls
[sudo] password for <user>: ***PASSWORD ENTERTED***
<list of files>
Run Code Online (Sandbox Code Playgroud)
然而,当我通过 SSH 连接到同一台机器时,我得到:
$ ssh <user>@<ip-address>
<user>@<ip-address>'s password: ***PASSWORD ENTERTED***
.
.
.
[<user>@<host> ~]$ sudo ls
[sudo] password for <user>: ***SAME PASSWORD***
Sorry, try again.
[sudo] password for <user>: ***[CTRL-C]***
sudo: 1 incorrect password attempt
Run Code Online (Sandbox Code Playgroud)
知道为什么这个密码不被 SSH 接受吗?
这并不重要,但我可以通过 ssh “su” 来 root(通过使用 root 密码),但尝试使用“sudo su”(使用用户密码)进行 su 会失败。
编辑:我通过SSH 访问的机器是在 Virtualbox 中运行的CentOS 9机器,而我通过SSH 访问的机器也是在 Virtualbox 中运行的Rocky 9机器。正如我所说,我可以很好地进行 SSH,并且大多数命令都可以工作,但由于某种原因 SUDO 拒绝接受密码。然而,我刚刚尝试从 Windows 主机“PuTTY”进入同一个虚拟机,并惊讶地发现不仅 SSH 会话有效,而且 SUDO-ing 也有效!所以看来 Rocky ( from ) 机器有问题,而不是 CentOs ( to ) 机器有问题。
Att*_*tie 19
在您发表评论后,听起来波浪号 ( ~) 字符给您带来了问题。
当您处于 SSH 会话中时,转义序列^M~(即Returnthen~或Ctrl+ Mthen ~)具有特殊含义 - 请参阅手册页的“转义字符”部分。
按序列Return, ~,?将显示支持的转义序列列表。
如果您不幸刚刚按下Return,然后尝试输入一个标题,后跟这些选项之一,您将不会收到任何传递到服务器的字符......并且按两次波浪号将“取消转义”并发送一个代号代表您!
此外,如果您键入不受支持的序列,大多数客户端都会很友好地为您将字符发送到服务器,就好像您从未首先启动转义序列一样 - 因此这可能会在一段时间内被忽视。
考虑以下情况,我输入c, a, t, Return, ~, , ~,但只得到一个波浪号:
attie@patch:~$ cat
~
Run Code Online (Sandbox Code Playgroud)
尽管 myReturn打算发出该命令(并且确实这样做了),但它也被 SSH 客户端视为Return,~转义序列的开始。
需要注意的是,这是 SSH客户端的一个功能,而不是服务器的功能...因此您会在 OpenSSH 客户端(以及可能的其他客户端)中发现这种行为,但在其他客户端中不会发生这种情况(例如 PuTTY,它使用“ PuTTY 配置”窗口代替)。
| 归档时间: |
|
| 查看次数: |
1445 次 |
| 最近记录: |