PHP ile SSH Bağlantısı Yapmak

Mart 12, 2023
PHP ile SSH bağlantısı nasıl yapılır?
172
Views

PHPSeclib kütüphanesi ile projelerinizde PHP ile SSH bağlantısı yapmak;

Öncelikle PHPSeclib kütüphanesini projenize composer ile eklemeniz gerekmektedir. Bilgisayarınızda composerın yüklü olup, olmadığını cmd’ye composer yazarak öğrenebilirsiniz.

Composer yüklü ise aşağıdaki gibi bir çıktı ile karşılaşırsınız.

PHPSeclib Composer Kurulumu

Bilgisayarınızda composer yüklü ise projenizin kaynak dosyalarına “cd” komutu ile gitmeniz gerekmektedir. Örnek olarak benim projem C:\xampp\htdocs\phpseclib klasöründe ve cmd üzerinde “cd C:\xampp\htdocs\phpseclib” komutu ile projemin olduğu dizine ilerliyorum.

Projemin bulunduğu dizine cmd üzerinden ilerledikten sonra  aşağıdaki komut ile ilgili kütüphanenin yüklenmesi işlemini sağlıyorum.

composer require phpseclib/phpseclib:~3.0

PHPSeclib install

Cmd ekranı yukarıdaki gibi görünecektir. Kurulum işlemleri tamamlandıktan sonra projenizin kaynak dosyalarında gerekli kütüphane dosyaları yüklenmiş olacaktır.

Aşağıdaki komut ile dahil edebilirsiniz.

include('vendor/autoload.php');
use phpseclib3\Net\SSH2;

Örnek bir kullanım olarak aşağıdaki kod dizinini kullanabilirsiniz;

$hostname = '127.0.0.1';
$port = 22;
$ssh = new SSH2($hostname, $port);

$login = $ssh->login('username', 'password');

if (!$login) {
   exit('Giriş başarısız!');
}

Yukarıdaki komutlar ile bağlantı sağlayabilirsiniz. hostname alanına sunucu IP adresini yazmanız ve port alanına SSH portunu girmeniz gerekmektedir.

Login satırındaki username ve password alanına giriş bilgilerinizi girmeniz gerekmektedir. Dilerseniz ilgili giriş bilgilerini herhangi bir değişkene tanımlayarak, bu satırda değişken olarak da kullanabilirsiniz.

$login = $ssh->login($username, $password);

Giriş işleminde problem bulunuyorsa yukarıdaki if koşulu size uyarı verecektir. Dilerseniz else koşuluyla giriş sağladığınızı doğrulayabilirsiniz.

SSH bağlantısı sağlayabildiyseniz SSH komutlarını örnek olarak aşağıdaki gibi çalıştırabilirsiniz.

echo $ssh->exec('ls -la');

https://phpseclib.com/docs/commands adresinden komutlarla ilgili dokümanlara ulaşabilirsiniz.

Not: İlgili makalede belirtilen bağlantı türü basit bir bağlantı biçimidir ve herhangi bir koruma bulunmamaktadır. İlgili kütüphanenin web sitesi üzerinde authentication yöntemleri ve güvenlik önlemleri yer almaktadır. https://phpseclib.com/docs/auth adresinden ziyaret edebilirsiniz.

Makale Kategorileri:
Yazılım

25 yaşındayım. CMS (İçerik Yönetim Sistemleri), Yazılım, Dijital Pazarlama ve SEO alanlarında araştırmayı, öğrenmeyi ve paylaşmayı seviyorum.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir