phpseclib ile SSH Bağlantısı

blue elephant figurine on macbook pro

phpseclib (PHP Secure Communication Library); uzak sunucularda komut çalıştırma, dinamik SSH anahtarları oluşturma, SFTP ile dosya transferi yapma ve bağlantıları test etme gibi işlemler için kullanılan güçlü bir kütüphanedir. Uzak bir sunucuya güvenli şekilde bağlanmak ve komut çıktıklarını yönetmek için phpseclib altyapısından yararlanabilirsiniz.

phpseclib ile SSH Bağlantı Yöntemleri

phpseclib kullanarak uzak sunucuya 3 farklı kimlik doğrulama yöntemiyle bağlantı kurulabilir:

  • RSA Anahtarı: Güvenli ve önerilen kimlik doğrulama yöntemidir.
  • Parola Korumalı RSA Anahtarı: Ekstra güvenlik katmanı içeren anahtar doğrulama biçimidir.
  • Kullanıcı Adı ve Parola: Klasik yöntemdir; ancak güvenlik açısından önerilmemektedir.
A woman's hand holding a PHP elephant mascot sticker, blurred background.

1. RSA Anahtarı ile Bağlantı Kurulumu

Zaten var olan güvenli bir RSA anahtarınız üzerinden bağlantı sağlayabilirsiniz. Eğer henüz bir anahtar oluşturmadıysanız, kütüphane aracılığıyla anahtar üretimi de gerçekleştirebilirsiniz. RSA anahtarı kullanarak bağlantı kurma örneği aşağıdaki gibidir:

PHP

<?php
include('vendor/autoload.php');
use phpseclib3\Crypt\RSA;
use phpseclib3\Net\SSH2;

// Oluşturulan RSA anahtarını belirtiyoruz.
$key = RSA::load(file_get_contents('rsa/anahtarinin/yolu'));
$hostname = '192.168.0.1';
$port = 22;

// Belirtilmemesi durumunda port numarası varsayılan 22'dir.
$ssh = new SSH2($hostname, $port);
$login = $ssh->login('root', $key);

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

2. Parola Korumalı RSA Anahtarı ile Bağlantı

Eğer kullandığınız RSA anahtarınız bir parola ile koriniyorsa, phpseclib bu durumun da üstesinden kolayca gelebilir. Parola korumalı anahtarlarla kimlik doğrulama adımları benzer şekilde yapılandırılır.

ÖZET

  • phpseclib, PHP projelerinde uzak sunucu yönetimi, SSH bağlantısı ve dosya transferleri yapmanızı sağlar.
  • Bağlantı için RSA anahtarı, parola korumalı anahtar veya kullanıcı adı-parola yöntemleri tercih edilebilir.
  • Güvenlik açısından kullanıcı adı ve parola yerine RSA anahtarı ile kimlik doğrulama yapılması önerilir.
  • Kütüphane sayesinde sunucuya bağlanıp komutları çalıştırabilir ve çıktıları kolayca yönetebilirsiniz.

Sık Sorulan Sorular (SSS)

Soru 1: phpseclib ile SSH bağlantısı için hangi kimlik doğrulama yöntemi seçilmelidir? Cevap: Güvenlik standartları gereği en güvenli yöntem olan RSA anahtarı (veya parola korumalı RSA anahtarı) tercih edilmelidir.

Soru 2: SSH bağlantı portu belirtilmezse hangi port kullanılır? Cevap: Kod içerisinde özel bir port belirtilmediği durumlarda varsayılan SSH portu olan 22 numaralı port kullanılır.

Soru 3: phpseclib sadece SSH komutu çalıştırmak için mi kullanılır? Cevap: Hayır; SSH komut çalıştırmanın yanı sıra SFTP ile dosya indirme/yükleme, dinamik anahtar oluşturma ve bağlantı testleri için de kullanılır.

Servis ve paketlerimizi görmek ve bilgi almak için sayfamızı ziyaret edin.