KKUT Docs

SSH Kütüphanesi

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

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.

KUT Framework'te de SSH'ın nasıl kullanılacağına dair anlatıma yer vermeye çalışacağız.

Kurulum

Bu bileşen KUT ile birlikte gelir; ayrıca kurulum gerektirmez.

↓ Paket KUT ile birlikte gelir.

Yapılandırma

Aşağıda ssh bağlantı ayarlarını yapılandırmak için kullanılan dizi gösterilmiştir.

Dosya: Config/Services.php
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

SSH::command(string $command) : this
SSH::run(string $command = NULL) : resource
SSH::output(int $length = 4096) : string
SSH::upload(string $localPath, string $remotePath) : bool
SSH::download(string $remotePath, string $localPath) : bool
SSH::createFolder(string $path, int $mode = 0777, bool $recursive = true) : bool
SSH::deleteFolder(string $path) : bool
SSH::deleteFile(string $path) : bool
SSH::rename(string $oldName, string $newName) : bool
SSH::permission(string $path, int $type = 0775) : bool
SSH::new(array $config) : this

Command

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.

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

Gönderilen komutları çalıştırmak için kullanılır. Nihai yöntem olarak kullanılır.

string $command = NULL command() işlevinin alternatifidir. Kullanımı zorunlu değildir.
return resource

Kullanımı

SSH::command('/usr/local/bin/php -i')
   ->command('/usr/bin/ls public_html/images')
   ->run();

Output

İşlemlerin bitiminde sonucu ekrana bastırmak için kullanılır.

int $length = 4096 Çıktının byte cinsinden uzunluğu yada kaç karakter uzunlukta olacağı.
return string

Kullanımı

SSH::output();

Upload

Sunucuya dosya yüklemek için kullanılır.

string $localPath Yüklenecek dosya.
string $remotePath Sunucuda nereye yüklenecek.
return bool

Kullanımı

SSH::upload('local/example.txt', 'remote/example.txt');

Download

Sunucudan dosya indirmek için kullanılır.

string $remotePath Sunucuda nereye yüklenecek.
string $localPath Yüklenecek dosya.
return bool

Kullanımı

SSH::upload('remote/example.txt', 'local/example.txt');

CreateFolder

Sunucuda dizin oluşturmak için kullanılır.

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

Sunucudan dizin silmek için kullanılır.

string $path Oluşturulacak dizin.
return bool

Kullanımı

SSH::deleteFolder('remote/example');

DeleteFile

Sunucudan dosya silmek için kullanılır.

string $path Silinecek dosya.
return bool

Kullanımı

SSH::deleteFile('remote/example.txt');

Rename

Sunucuda yer alan dosya veya dizin adını değiştirmek için kullanılır.

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

Dosyanın yetki modunu değiştirmek için kullanılır.

string $path Dosya adı.
int $type = 0775 Dosya modu.
return bool

Kullanımı

SSH::permission('remote/example.txt', 0644);

# New

Sunucuya yapılandırma dosyası bağlantı ayarları dışında yeni bir bağlantı sağlamak için kullanılır.

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();
KUT Framework 1.0Katmanlı Uygulama Tabanı

Kur. Uyarla. Türet.