Saya mencoba memeriksa versi BIOS dari server melalui SSH, sebuah perintah yang membutuhkan hak akses root:
ssh remote-server su -c dmidecode
tetapi ini tentu saja gagal dengan kesalahan:
standar dalam harus tty
Bagaimana saya membuat ini bekerja? Saya tidak dapat menggunakan sudo, dan ketika saya mencoba masuk sebagai root @ remote-server, itu tidak akan menerima kata sandi yang saya gunakan untuk perintah 'su'. Saya menggunakan RedHat Enterprise Linux 4.
Jawaban:
Gunakan
-t
untuk memaksa ssh untuk mengalokasikan tty:Anda mungkin juga mempertimbangkan untuk mengizinkan root untuk ssh secara langsung. Jika Anda menggunakan otentikasi kunci publik, ini mungkin lebih aman karena Anda tidak akan menyampaikan kata sandi. Jika Anda memutuskan untuk melakukan ini, pertimbangkan untuk memblokir login root dari mana saja kecuali alamat IP tepercaya Anda dengan memasukkan yang berikut ini
/etc/security/access.conf
:dan pastikan
UsePAM
tidak dinonaktifkan disshd_config
sumber
-t
dalam contoh Anda?Tidak bisakah Anda masuk ke server jauh sebagai pengguna standar dan kemudian menggunakan sudo ?
Anda juga dapat mencoba mengutip perintah yang akan dieksekusi oleh ssh, seperti pada
atau
sumber