Merhabalar, Bu yazımızda, Java ile uzaktaki bir makineye programatik olarak SSH ile bağlanıp Python kod çalıştırmayı göreceğiz. Örnek olarak Raspberry 3 makinesi kullanacağız.
SSH işlemleri için SSHJ kütüphanesini kullanacağız. Bu kütüphane ile lokal makinenizde bulunan önceden bağlandığınız makinelerin ssh keylerini kullanarak bağlantı kurulabildiği gibi, kullanıcı adı - şifre bilgilerini kullanarak da bağlantı kurulabilmektedir. Kullanıcı adı - şifre yöntemini kullanarak bağlantı kuracağız.
Öncelikle basit bir komut çalıştırıp çıktısını konsola basalım.
Kısaca örnek kodumuzu anlatalım. IP, port, kullanıcı adı ve şifre bilgilerini kullanarak bir bağlantı açılıyor. SSH client nesnesi ile bir session açılıp komut çalıştırılıyor. Komutun bitmesini beklemek için 5 sn bekletiliyor. Daha sonra komut çıktısı okunarak konsola basılıyor.
Şimdi de SSH client ile session açıp, shell arayüzü ile komutları inputstream şeklinde shell'in standart input'una gönderelim. Örnek basit bir Python kodunu String içerisinde ByteArrayInputStream'e çevirerek gönderiyoruz. Çıktıyı da standart output'dan okuyup konsola basalım.
Programın çıktısı örnek kodun aşağısında yorum içerisinde bulunmaktadır.
Özetle, programatik olarak SSH ile makineye bağlantı sağlayıp uzak makinanın komut satırını elimizin altına alabiliyoruz.
SSH işlemleri için SSHJ kütüphanesini kullanacağız. Bu kütüphane ile lokal makinenizde bulunan önceden bağlandığınız makinelerin ssh keylerini kullanarak bağlantı kurulabildiği gibi, kullanıcı adı - şifre bilgilerini kullanarak da bağlantı kurulabilmektedir. Kullanıcı adı - şifre yöntemini kullanarak bağlantı kuracağız.
Öncelikle basit bir komut çalıştırıp çıktısını konsola basalım.
Kısaca örnek kodumuzu anlatalım. IP, port, kullanıcı adı ve şifre bilgilerini kullanarak bir bağlantı açılıyor. SSH client nesnesi ile bir session açılıp komut çalıştırılıyor. Komutun bitmesini beklemek için 5 sn bekletiliyor. Daha sonra komut çıktısı okunarak konsola basılıyor.
Şimdi de SSH client ile session açıp, shell arayüzü ile komutları inputstream şeklinde shell'in standart input'una gönderelim. Örnek basit bir Python kodunu String içerisinde ByteArrayInputStream'e çevirerek gönderiyoruz. Çıktıyı da standart output'dan okuyup konsola basalım.
Programın çıktısı örnek kodun aşağısında yorum içerisinde bulunmaktadır.
Özetle, programatik olarak SSH ile makineye bağlantı sağlayıp uzak makinanın komut satırını elimizin altına alabiliyoruz.
0 Yorumlar