SSH Kütüphanesi
"Ajax işleminde 'url' parametresi doğru yol bilgisi için URL::site('controller/method') biçiminde ifade edilmelidir. "
SSH (Secure Shell) güvenli veri iletimi için kriptografik ağ protokolüdür. Ssh ile ağa bağlı olan iki bilgisayar arasında veri aktarımı güvenlik kanalı üzerinden güvensiz bir ağda yapılır. Bu durumda ağda Ssh ile haberleşen makinelerden biri ssh sunucusu diğeri ssh istemcisi olur. Bu protokol şartları SSH-1 ve SSH-2 olmak üzere iki önemli sürüm üzerinden birbirinden ayrılır.
Ssh kabuk hesabına erişim için Unix ve benzeri işletim sistemlerinde protokolün en iyi uygulaması olarak bilinir, ama aynı zamanda Windows üzerindeki hesaplara erişim için de kullanılabilir. Ssh Telnet ve diğer uzaktan kabuğa erişim yapan güvensiz protokollerin (Berkeley rsh ve rexec protokolü gibi) yerine güvenli veri iletimini sağlaması için tasarlanmıştır.
ZN Framework'te de SSH'ın nasıl kullanılacağına dair anlatıma yer vermeye çalışacağız.
# Kurulum
ZN dağıtımları için kurulum gerekmez.
↓ composer require znframework/package-remote
# Yapılandırma
Aşağıda ssh bağlantı ayarlarını yapılandırmak için kullanılan dizi gösterilmiştir.
SSH | ||
String | $host = '' | Host adı. |
String | $user = '' | Kullanıcı adı. |
String | $password = '' | Kullanıcı şifresi. |
Int | $port = 22 | Bağlantı portu. |
Array | $methods = [] | Metotlar. |
Array | $callbacks = [] | Geri çağrım işlevleri. |
# Yöntemler
# Command (ZN >= 3.0.6)
Komut satırı çalıştırmak için kullanılır. Tek satır veya command() yönteminin birden fazla kullanımı ile çoklu komut gönderimi sağlayabilirsiniz.
Parametreler
String | $command | Çalıştırılacak komut. |
Return | This |
Kullanımı
SSH::command('/usr/local/bin/php -i')
->command('/usr/bin/ls public_html/images')
->run();
# Run (ZN >= 3.0.6)
Gönderilen komutları çalıştırmak için kullanılır. Nihai yöntem olarak kullanılır.
Parametreler
String | $command = NULL | command() işlevinin alternatifidir. Kullanımı zorunlu değildir. |
Return | This |
Kullanımı
SSH::command('/usr/local/bin/php -i')
->command('/usr/bin/ls public_html/images')
->run();
# Output (ZN >= 3.0.6)
İşlemlerin bitiminde sonucu ekrana bastırmak için kullanılır.
Parametreler
Int | $length = 4096 | Çıktının byte cinsinden uzunluğu yada kaç karakter uzunlukta olacağı. |
Return | String |
Kullanımı
SSH::output();
# Upload (ZN >= 3.0.6)
Sunucuya dosya yüklemek için kullanılır.
Parametreler
String | $localPath | Yüklenecek dosya. |
String | $remotePath | Sunucuda nereye yüklenecek. |
Return | Bool |
Kullanımı
SSH::upload('local/example.txt', 'remote/example.txt');
# Download (ZN >= 3.0.6)
Sunucudan dosya indirmek için kullanılır.
Parametreler
String | $remotePath | Sunucuda nereye yüklenecek. |
String | $localPath | Yüklenecek dosya. |
Return | Bool |
Kullanımı
SSH::upload('remote/example.txt', 'local/example.txt');
# CreateFolder (ZN >= 3.0.6)
Sunucuda dizin oluşturmak için kullanılır.
Parametreler
String | $path | Oluşturulacak dizin. |
Int | $mode = 0777 | Dosya oluşturma izni. |
Bool | $recursive = true | İç içe dizin oluşturulabilme. |
Return | Bool |
Kullanımı
SSH::createFolder('remote/example');
# DeleteFolder (ZN >= 3.0.6)
Sunucudan dizin silmek için kullanılır.
Parametreler
String | $path | Oluşturulacak dizin. |
Return | Bool |
Kullanımı
SSH::deleteFolder('remote/example');
# DeleteFile (ZN >= 3.0.6)
Sunucudan dosya silmek için kullanılır.
Parametreler
String | $path | Silinecek dosya. |
Return | Bool |
Kullanımı
SSH::deleteFile('remote/example.txt');
# Rename (ZN >= 3.0.6)
Sunucuda yer alan dosya veya dizin adını değiştirmek için kullanılır.
Parametreler
String | $oldName | Dosyanın eski adı. |
String | $newName | Dosyanın yeni adı. |
Return | Bool |
Kullanımı
SSH::rename('remote/example.txt', 'remote/new-example.txt');
# Permission (ZN >= 3.0.6)
Dosyanın yetki modunu değiştirmek için kullanılır.
Parametreler
String | $path | Dosya adı. |
Int | $type = 0775 | Dosya modu. |
Return | Bool |
Kullanımı
SSH::permission('remote/example.txt', 0644);
# New (ZN >= 5.8.6.3)
Sunucuya yapılandırma dosyası bağlantı ayarları dışında yeni bir bağlantı sağlamak için kullanılır.
Parametreler
Array | $config | Bağlantı ayarları. |
Return | This |
Kullanımı
$config =
[
'host' => 'localhost',
'user' => 'test',
'password' => '1234'
];
$dssh = SSH::new($config);
$dssh->command('usr/local/bin/php -i')->run();