Próbuję sprawdzić wersję systemu BIOS serwera za pośrednictwem SSH, polecenia wymagającego uprawnień roota:
ssh remote-server su -c dmidecode
ale to oczywiście kończy się błędem:
standardem musi być tty
Jak sprawić, żeby to działało? Nie mogę używać sudo, a kiedy próbuję zalogować się jako root @ serwer zdalny, nie zaakceptuje hasła, którego używam do polecenia „su”. Używam RedHat Enterprise Linux 4.
Odpowiedzi:
Użyj,
-t
aby wymusić na ssh przydzielenie tty:Możesz także rozważyć zezwolenie rootowi na ssh bezpośrednio. Jeśli korzystasz z uwierzytelniania za pomocą klucza publicznego, może to być bezpieczniejsze, ponieważ nie będziesz przekazywał hasła. Jeśli zdecydujesz się to zrobić, rozważ zablokowanie logowania użytkownika root z dowolnego miejsca poza zaufanymi adresami IP, umieszczając następujące elementy
/etc/security/access.conf
:i upewnij się, że
UsePAM
nie jest wyłączony wsshd_config
źródło
-t
litery w swoim przykładzie?Czy nie możesz zalogować się do zdalnego serwera jako zwykły użytkownik, a następnie użyć sudo ?
Możesz także spróbować zacytować polecenie, które ma zostać wykonane przez ssh, jak w
lub
źródło