2015-04-17 13 views
5

Tüm ssh bağlantılarını izlemeyi otomatikleştirmeye çalışan Go ile çalışıyorum. Go komutunu çalıştıran bazı sorunlar yaşıyorum. İşte benim kodudur:Kabuktan ssh ile bağlantı kuruyor musunuz?

cmd := exec.Command("ssh", string(c.Address)) 
     cmd.Stderr = os.Stderr 
     cmd.Stdin = os.Stdin 
     cmd.Stdout = os.Stdout 
     err2 := cmd.Run() 
     if err2 != nil { 
      fmt.Print("Disconnected") 
     } 

c.Address "[email protected]" eşdeğerdir açıkçası o ip kullanmıyor ama bu çalıştırdığınızda aşağıdaki hatayı alıyorum.

ssh: Could not resolve hostname 192.168.1.1 
: nodename nor servname provided, or not known 

Terminallerimden ssh kullanarak çok güzel bağlanabilirim.

Teşekkürler!

+1

Package documentation.

'ssh' komuta bazı hata ayıklama çıktısını yazdırma ve kabuğundan bunu aynı komutu karşılaştırmayı deneyin. – JimB

+3

Ayrıca, c.Address öğesinin fazladan boşluk veya yazdırılamayan karakterler içermediğinden emin olun. – JimB

+0

Tuhaf olanı. Localhost'u deneyin. C.Address bir işlev değil mi? (Yorulmak olur;). Adres çözümüyle ilgili değil, kimlerin bildiği: PATH'nuzun bununla ilgili bir şey yapması olasılığı düşük olan ssh uygulamasına mutlak bir yolla deneyin. Hangi işletim sistemini kullanıyorsunuz? Bunu bilmek faydalı olabilir. – wldsvc

cevap

0

çalıştığını

cmd := exec.Command("ssh", string("[email protected]"))

varsa. Eğer

cmd := exec.Command("ssh", string("[email protected] "))

varsa yukarıdaki yorumun gereğince - o zaman sen açıklanan hata alırsınız ekstra alan

dikkat edin.

İlgili konular