Tenho um usuário em minha máquina local (virtual) com privilégios sudo e quando faço login com esse usuário posso executar comandos SUDO como:
$ sudo ls
[sudo] password for <user>: ***PASSWORD ENTERTED***
<list of files>
No entanto, quando faço SSH na mesma máquina, recebo:
$ 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
Alguma ideia de por que essa senha não está sendo aceita por SSH?
Não que isso realmente importe, mas posso "su" fazer root no ssh (usando a senha root), mas tentar fazer su com "sudo su" (usando a senha do usuário) falha.
Editar: A máquina para a qual estou fazendo SSH é uma máquina CentOS 9 rodando no Virtualbox, e a máquina da qual estou fazendo SSH é uma máquina Rocky 9 também no Virtualbox. Como eu disse, posso fazer SSH perfeitamente e a maioria dos comandos funciona, mas por algum motivo o SUDO se recusa a aceitar a senha. No entanto, eu tentei "PuTTY" na mesma VM do host do Windows e fiquei surpreso ao descobrir que não apenas a sessão SSH funciona, mas o SUDO também funciona! Portanto, parece que deve haver um problema com a máquina Rocky ( from ) e não com a máquina CentOs ( to ).
Após seus comentários, parece que um
~
caractere til () estava causando problemas.Quando você está em uma sessão SSH, a sequência de escape
^M~
(que é Returnentão ~ou Ctrl+ Mentão ~) tem um significado especial - consulte a seção " Caracteres de escape " da página de manual .Pressionar a sequência Return, ~, ?mostrará uma lista de sequências de escape suportadas.
Se você tiver o azar de apenas pressionar Returne tentar inserir um título seguido por uma dessas opções, você não receberá nenhum caractere entregue ao servidor... e pressionar til duas vezes irá "retirar o escape" e enviar um único til em seu nome!
Além disso, se você digitar uma sequência não suportada, a maioria dos clientes terá a gentileza de enviar os caracteres para o servidor como se você nunca tivesse iniciado a sequência de escape - portanto, isso pode passar despercebido por algum tempo.
Considere o seguinte, onde digito c, a, , , , e obtenho apenas um til t:Return~~
Embora minha Returnintenção fosse emitir o comando (e o fez), ele também foi visto pelo cliente SSH como o início da sequência Returnde ~escape.
É importante observar que este é um recurso do cliente SSH , não do servidor... então você encontrará esse comportamento com o cliente OpenSSH (e provavelmente com outros) - mas não acontecerá em outros (como PuTTY, que usa a janela " Configuração PuTTY ").