SSH uzak mesajı yerel dosyaya yönlendirilmiyor


0

SSH ile bir makineye bağlanmaya ve bir dosyaya mesaj kaydetmeye çalışıyorum. İşte benim örnek:

ssh -i .ssh/mykey ubuntu@blah.blah.blah > ~/log.txt 2> ~/err.txt

Kullanıcı girişi gerektirenları değil sadece dosyalara yazılan çoğu mesajı alıyorum. Örneğin, bir makineye ilk kez bağlanırken aşağıdaki mesaj kaydedilmez:

The authenticity of host 'blah.blah.blah (10.10.10.10)' can't be established.
RSA key fingerprint is 
a4:d9:a4:d9:a4:d9a4:d9:a4:d9a4:d9a4:d9a4:d9a4:d9a4:d9.
Are you sure you want to continue connecting (yes/no)?

Bunun gibi seçenekler olduğunu biliyorum

-o "StrictHostKeyChecking=no"

ancak, bu güvenlik özelliğini devre dışı bırakmak istemiyorum. Hala istemi istiyorum. Uygulamam bu mesajı arayacak, bir (evet / hayır) düğmesi sunacak ve ardından sonucu stdin'e aktarabilir.

Bu mesajı okumak için nasıl bir dosyaya sokabileceğim hakkında bir fikrin var mı? Ve değilse, neden olmasın?


" Uygulamam bu mesajı arayacak " ... bir uygulama geliştiriyorsanız neden bir kütüphane kullanmıyorsunuz? eg: libssh
Attie

1
ssh açıkça açılıyor /dev/tty, sonra mesajı yazıyor ve cevabını bundan okuyor. Dolayısıyla uygulamanız bir tty kuracak ve ssh aracıyla bununla etkileşime girecek. Uygulamanızın nasıl çalıştığına bağlı olarak, bunu yapmanın farklı yolları vardır.
Kenster

Belki de bir düğüm js / electron uygulaması kullandığımdan ve platform için bir ssh istemcisi kurmaya çalıştığımdan bahsetmeliydim. Js kütüphanesi şu anda mevcut olan düğümleri, kullanıcıları bir şekilde atlamak yerine, bu adımda kullanıcılara yönlendirmez. @Kenster peşimde olan eksik bağlantı olabilir, teşekkür ederim!
Aaron Albrighton

Yanıtlar:


0

Kafamı haftalarca kaşıdıktan sonra, sonunda ssh ile -v (verbose) etiketini kullanabileceğimi ve stderr'e yazmak için bu adımı alabileceğimi fark ettim.

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.