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.
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
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.