Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[GÜNCEL] Python paramiko ile SSH bağlantısı sağlayarak komut gönderme
#1
Geçenlerde birileri python ile sunucuya bağlanarak komut gönderme yapılabilir mi diye sormuştu, sanırım bunu demek istediler. 

Python'da Paramiko adlı modül ile sunucuya SSH bağlantısı sağlayıp komut gönderebiliyoruz.

modülümüzü yüklememiz için:

Kod:
python -m pip install paramiko


Eğer mobil ise qpthon uygulamasındaki scripts klasöründen pip_cosole.py sciprtini çalıştırıp
Kod:
pip install paramiko

diyoruz ve paramiko yüklüyoruz.

Daha sonra aşağıdaki kodun içine gerekli bilgileri girip komutumuzu gönderiyoruz. Basit olarak komut gönderim örneği:

PHP Kod:
import paramiko

# Suncu ip adresi
hostname "xxx.xxx.xxx.xxx"

# kullanici adi
myuser   'root'

# Sifre
passwd     '******'

# Burasi varsa security key icin key yolu
mySSHK   '****.pem'

sshcon   paramiko.SSHClient()
sshcon.set_missing_host_key_policy(paramiko.AutoAddPolicy())# no known_hosts error

sshcon.connect(hostnameusername=myuserpassword=passwd)

# Eger key ile baglanacaksaniz asagidaki satirin basindaki "#" isaretini kaldirin
#sshcon.connect(hostname, username=myuser, key_filename=mySSHK)

commands raw_input("Komut girin: ")
        
stdinstdoutstderr sshcon.exec_command(commands)
recv stdout.read()
print 
recv

sshcon
.close() 


Alternatif olarak eğer birden fazla komutu tek seferde göndermek istiyosanız şu kodu örnek olarak kullanabilir veya kendinizce düzenleyebilirsiniz.

PHP Kod:
import paramiko
import time

# Suncu ip adresi
hostname "xxx.xxx.xxx.xxx"

# kullanici adi
myuser   'root'

# Sifre
passwd     '******'

# Burasi varsa security key icin
mySSHK   '****.pem'

sshcon   paramiko.SSHClient()
sshcon.set_missing_host_key_policy(paramiko.AutoAddPolicy())# no known_hosts error

sshcon.connect(hostnameusername=myuserpassword=passwd)

# Eger key ile baglanacaksaniz asagidaki satirin basindaki "#" isaretini kaldirin
#sshcon.connect(hostname, username=myuser, key_filename=mySSHK)


# Gonderilecek komutlari alt alta asagidaki gibi girebilirsiniz.
commands '''
service --status-all
echo "islem tamam"
date
'''

for i in commands.splitlines():    
    if 
not i == "":
        
stdinstdoutstderr sshcon.exec_command(i)
        
recv stdout.read()
        print 
recv
        time
.sleep(1)
    
sshcon.close() 
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla

{lang: 'en'}


Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi
Change Theme