Uygulamadan sudo olarak bir sunucuya SSH nasıl


2

Uzak bir veritabanına bağlanmak için Sequel Pro kullanıyorum. Normalde, SSH'ye girdiğimde koşmam gerekiyor sudo su veritabanına erişmeden önce. Normal SSH kimlik bilgilerimi Sequel Pro'ya koyduğumda, DB sunucusuna erişme haklarına sahip olmadığım bir hatayla geri dönüyor (tıpkı komut satırından bağlanmayı denediğimde hata aldığım gibi) sudo su ).

Öyleyse uzaktaki bir sunucuya bağlanmanın bir yolu var mı?


öyleyse, ssh üzerinden uzak bir mysql örneğine bağlanmak ister misiniz?
akira

yani, normal bir kullanıcı ile makineye ssh attığınızda aldığınız hata nedir ve mysql -u & lt; username & gt; -p, kullanıcı adı SequelPro'da ayarlandığı gibi veritabanı kullanıcı adıdır ve şifre, Sequel pro'dan biridir.
Sunny

Aslında, sorunun SequelPro'ya ait Notlar Terminal için kullanılan aynı anahtarları kullanacağını söylese de, genel anahtar kimlik doğrulaması nedeniyle SSH kullanamayacağımı düşünüyorum.
Anthony

Üzgünüm, daha ileri araştırmalarda sorun, SSHing'den sonra bir seçenek olarak görmediğim bir soketle bağlantı kurmak gibi görünüyor.
Anthony

Eğer iyi bir cevap istiyorsanız: Sunucu tarafında ve müşteri tarafında durumun ne olduğunu daha iyi açıklayın. şu ana kadar sadece bir soket üzerinden çalışan bir mysqld'e erişmeye çalıştığınızı tahmin ediyoruz (ve normalde o sokete erişim izniniz yoktur).
akira

Yanıtlar:


2

Lütfen! Root girişlerine SSH ile izin verme!

Bunun yerine, sudoers dosyanızı, giriş yaptığınız kullanıcı olarak yürütmeniz gereken komutlara izin vermek için düzenleyin. Ardından, 'sudo' kelimesini uzak komutunuza önceden ekleyin.

Örnek / Etc / Sudoers dosya:

myuser ALL=(root) NOPASSWD: /path/to/my/command --my --argument --list

Sonra SSH komutunuz:

ssh myuser@remotehost "sudo /path/to/my/command --my --argument --list"

man sudoers ve man ssh Ek detaylar sağlayacaktır.


@ Beyaz Anka kuşuna soruna cevabından daha çok yorum yazıyor. OP, bir mysql-gui'den bir soketi dinleyen bir mysql-daemon'a bağlantı kurmak istiyor gibi görünüyor.
akira

Sanırım soruyu cevapladım ... bence OP yanlış soruyu sormuş olabilir.
Flimzy

1

Belki sadece uzaktan girişleri root olarak etkinleştir , bir root şifresi ayarlayın ve ardından 'root' olarak ssh. Bu genellikle, ssh üzerinden kök girişlerine izin vermenin güvensiz olduğu kabul edilmez. Bununla birlikte, bu tür girişlere izin verme konusunda güvenliği artırmak için atabileceğiniz çeşitli adımlar vardır:

  1. Yalnızca hem şifreleri hem de anahtar kimlik doğrulamasını kullanan kök girişlere izin verin
  2. Yalnızca bilinen / güvenilir bazı IP adreslerinden gelen kök girişlerine izin ver
  3. Kök kullanıcı adını benzersiz bir şeyle değiştirin (bunun ne kadar kolay yapılabileceğinden tam olarak emin değil)

Bu ServerFault sorusu Birkaç tane daha ssh güvenlik önerisi var.

Çok daha 'güvenli' bir çözüm, yapmanız gereken şeyleri yapma iznine sahip bir uzak sistem hesabı oluşturmaktır. Bu açıkçası, giriş yaptığınız makinede bir miktar yeniden yapılandırma gerektiriyor ve bunun sizin için bir seçenek olup olmadığını söylemiyorsunuz.


Nitekim Flimzy'nin dediği gibi, ssh üzerindeki kök girişleri genel olarak iyi bir fikir olarak kabul edilmez. Eğer soru gerçekten sadece liman yönlendirme hakkında soru soruyorsa, bunun için kök girişlerinin etkinleştirilmesi eğlenceli bir şekilde izladvised bir fikirdir. Yine de, bunun meşru bir dava olabileceğini düşündüğüm için bunun bir seçenek olduğunu belirtmek istedim. Sadece çok dikkatli ol. Ve önce diğer çözümleri deneyin;)
James T Snell
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.