Estou tentando verificar a versão do BIOS de um servidor via SSH, um comando que requer privilégios de root:
ssh remote-server su -c dmidecode
mas isso obviamente falha com o erro:
padrão em deve ser um tty
Como eu faço isso funcionar? Não consigo usar o sudo e, quando tento fazer o login como root @ remote-server, ele não aceita a senha que uso no comando 'su'. Estou usando o RedHat Enterprise Linux 4.
Respostas:
Use
-t
para forçar o ssh a alocar um tty:Você também pode considerar permitir que o root seja ssh diretamente. Se você estiver usando autenticação de chave pública, isso poderá ser mais seguro, pois você não passará uma senha. Se você decidir fazer isso, considere bloquear logins raiz de qualquer lugar, exceto seus endereços IP confiáveis, colocando o seguinte em
/etc/security/access.conf
:e verifique se
UsePAM
não está desativado emsshd_config
fonte
-t
s no seu exemplo?Você não pode simplesmente fazer login no servidor remoto como usuário padrão e usar o sudo ?
Você também pode tentar citar o comando a ser executado pelo ssh, como em
ou
fonte