ssh üzerinde su -c yürütmek


10

SSH, kök ayrıcalıkları gerektiren bir komut üzerinde bir sunucunun BIOS sürümünü kontrol etmeye çalışıyorum:

ssh remote-server su -c dmidecode

ancak bu elbette hatayla başarısız olur:

standart bir tty olmalı

Bunu nasıl yapabilirim? Sudo kullanamıyorum ve root @ remote-server olarak giriş yapmaya çalıştığımda, 'su' komutu için kullandığım şifreyi kabul etmiyor. RedHat Enterprise Linux 4 kullanıyorum.


Ben de "su -c" yerine sudo kullanarak bakarak öneririz
wfaulk

1
"Sudo kullanamıyorum" dediğim gibi
aaron

Neden "sudo kullanamıyorum" hakkında daha fazla bilgi olmasını isterdim.
dannysauer

@dannysauer Tüm işletim sistemlerinde yoktur. OP gibi RedHat'te olmamam dışında burada da aynı sorunu çözmeye çalışıyorum. Ben sudo olmadan bir unix varyantındayım. OP'nin RedHat'ta neden kullanamadığını merak ediyorum, ama yine de sorunun sorulduğu için minnettarım.
Loduwijk

sudo, tanıdığım tüm UNIX varyantlarını temel alıyor, ancak bunların hepsine yüklenmediğini (veya yapılandırılmadığını) kabul edeceğim. Neden orada yapılandırılmadığını gerçekten merak ettim (sanırım - birkaç yıl oldu). : D
dannysauer

Yanıtlar:


13

-tSSH'yi bir tty ayırmaya zorlamak için kullanın :

ssh -t -t remote-user su -c dmidecode

Ayrıca doğrudan kök ssh izin vermeyi düşünebilirsiniz. Ortak anahtar kimlik doğrulaması kullanıyorsanız, parola aktarmayacağınız için bu daha güvenli olabilir. Bunu yapmaya karar verirseniz, aşağıdakileri koyarak güvenilir IP adresleriniz dışındaki herhangi bir yerden kök girişlerini engellemeyi düşünün /etc/security/access.conf:

+ : root : 10.20.30.40
- : root : ALL EXCEPT LOCAL

ve UsePAMiçinde devre dışı bırakılmadığından emin olunsshd_config


2
Örneğinize iki -ts eklemenizin herhangi bir nedeni var mı?
wfaulk

2
Man sayfasına göre, çoklu -t seçenekleri "ssh yerel tty olmasa bile tty tahsisini zorla"
Heath

Bu benim için Fedora'da işe yaramıyor. Betiğin benden parolamı istemesini sağlar, ancak parolam düz metin olarak görüntülenir ve enter tuşuna bastığımda kilitleniyor.
Cerin

@Chris bu farklı bir sorun. Yeni bir soru sormayı deneyin.
geocar

Çift -t hakkında yorum için @Heath sayesinde bu benim için çalışmalar CentOS üzerinde
Paul Sheldrake

0

Uzak sunucuda standart kullanıcı olarak oturum açıp sudo kullanamaz mısınız?

Ayrıca ssh tarafından çalıştırılacak komutu alıntılamayı deneyebilirsiniz.

ssh remote-server 'su -c dmidecode'

veya

ssh remote-server "su -c dmidecode"

3
-1 çünkü komutun alıntılanması uçbirim eksikliğini çözmeyecektir. Sudo önerdiği için +1. Bu bir yıkama.
wfaulk

"sudo kullanamıyorum" dediğim gibi
aaron
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.