SSH (viết tắt của từ Secure Socket Shell) là một giao thức mạng được sử dụng để đăng nhập vào một máy tính từ xa. Chẳng hạn bạn có một máy tính ở nhà cài Linux có cài SSH thì bạn có thể đăng nhập vào máy tính đó từ xa để quản lý dữ liệu. Các dữ liệu mà bạn gửi đi hoặc nhận thông qua giao thức SSH sẽ đều được mã hóa lại để bảo mật thông tin an toàn hơn.SSH chính là giao thức được
sinh ra để thay thế cho telnet FTP là chữ viết tắt của File Transfer Protocol (Giao thức chuyển nhượng tập tin), đây là một giao thức giúp bạn dễ dàng trao đổi các dữ liệu giữa máy tính của bạn với host và ngược lại. Tại FTP, bạn sẽ có quyền quản lý toàn bộ các dữ liệu dạng tập tin và thư mục có trên host ngoại trừ database. Tất cả các gói host bạn mua có hỗ trợ control panel cPanel, DirectAdmin,…đều hỗ trợ sẵn FTP qua cổng kết nối
21. SFTP chính là giao thức an toàn của FTP (Secure FTP) Vì chủ yếu là code và cách thức sử dụng thư viện phpseclib nên mình giới thiệu các thức dùng php để kết nối 2 dịch vụ ssh và ftp. Hoạt động thế nào chắc các bạn đọc code sẽ hiểu 🙂 là cách kết nối ssh mà
ngoài user và password các bạn phải có public key của ssh server để tăng tính bảo mật , để hiểu thêm về public key là gì các bạn có thể xem ở đây <?php include('Net/SSH2.php'); include('Crypt/RSA.php'); $ssh = new Net_SSH2('www.domain.tld'); $key = new Crypt_RSA(); $key->loadKey(file_get_contents('privatekey')); $rsa->setPassword('.....'); if (!$ssh->login('username', $key)) { exit('Login Failed'); } echo $ssh->exec('pwd'); echo $ssh->exec('ls -la'); ?> Sau khi đã kết nối thành công các bạn hoàn toàn có thể chạy các lệnh conmand trực tiếp bằng code php của mình : ví dụ :
Kết nối ftp :trường hợp chỉ user và password <?php include('Net/SFTP.php'); $sftp = new Net_SFTP('www.domain.tld'); if (!$sftp->login('username', 'password')) { exit('Login Failed'); } trường hợp sử dụng public key
với ftp/ sftp các bạn hoàn toàn có thể đẩy file lên server và lấy file từ server về một cách rất dễ dàng $sftp -> get(‘đường dẫn file trên serve’,’tên file sẽ lưu ở local’); // lấy file về $sftp->put('filename.remote', 'xxx'); // đẩy file lên Vậy là mình đã hướng dẫn các bạn sử dụng phpseclib để kết nối ssh và ftp rất dễ dàng nếu có thắc mắc các bạn có thể liên hệ với mình qua FB hoặc mail : . Chúc các bạn học tốt |