Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Báo cáo nghiên cứu lab SSH with Paramiko

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Báo cáo nghiên cứu lab SSH with Paramiko

    Chương 1 TỔNG QUAN

    1.1. Giới thiệu về giao thức SSH

    Khái niệm:

    SSH viết đầy đủ là Secure Shell, đây là một giao thức hỗ trợ các nhà quản trị mạng truy cập vào máy chủ từ xa thông qua mạng internet không bảo mật. Ngoài ra, SSH còn cung cấp các bộ tiện ích phục vụ phát triển chính giao thức SSH.

    SSH tạo ra cơ chế xác thực qua mật khẩu mạnh, hình thành mối liên kết giao tiếp dữ liệu mã hóa ra giữa hai máy qua môi trường internet. Ngày nay giao thức SSH được giấy quản trị mạng sử dụng phổ biến trong quá trình quản lý, điều chỉnh ứng dụng từ xa. Nó cho phép vị tự đăng nhập vào mạng máy tính và thực hiện một số tác vụ cơ bản như dịch chuyển file.

    Cơ chế hoạt động:




    Khi triển khai SSH hệ thống sẽ hỗ trợ cả giao thức ứng dụng, sử dụng cho trình giả lập Terminal hoặc truyền file. Trong thực tế, người ta còn sử dụng SSH để phát triển tunnel bảo mật cho các giao thức ứng dụng.

    Mục đích SSH được tạo ra là để thay thế cho trình giả lập Terminal, cơ chế đăng nhập không an toàn (Telnet, Rlogin). Giao thức SSH hỗ trợ tính năng đăng nhập, khởi chạy Terminal Session thông qua hệ thống điều khiển từ xa.

    Chức năng cơ bản nhất của giao thức SSH là liên kết với một host từ xa, ứng với một phiên Terminal bằng dòng lệnh “ssh server.example.org”. Dòng lệnh này có thể liên kết Client với một máy chủ server.example.com thông qua ID người dùng UserName.

    Chương 2 SSH WITH PARAMIKO


    Tóm tắt chương

    Ở phần này, mặc dù có sẵn các ứng dụng Client SSH tuyệt vời dành cho Windows như: PuTTy,… Nhưng trong Python, chúng ta có thể sử dụng một số thư viện để thực hiện kết nối SSH client hay Server dành cho riêng bạn.

    2.1. Các bước thực hiện


    Thư viện Paramiko sử dụng PyCrypto giúp bạn đơn giản truy cập giao thức SSH2.

    Chúng ta sẽ sử dụng Paramiko để tạo kết nối và chạy lệnh trên hệ thống SSH, định cấu hình SSH server và client để chạy các lệnh từ xa.

    Trước tiên ta sẽ cài đặt thư viện và môi trường chúng ta sẽ làm trên Linux: (Kali Linux)

    Thực hiện cài đặt các gói:

    sudo apt-get update

    sudo apt-get install python3.x

    pip install paramiko

    Sau khi hoàn tất cài đặt các gói ta sẽ đi vào cài đặt SSH cho Linux

    sudo apt install openssh-server

    ls -la ~/.ssh

    Nếu hiện tại bạn có một cặp key, lệnh trên sẽ hiện thị các file “id_rsa” và “id_rsa.pub”.



    Để tạo key mới:

    Ssh-keygen -t rsa -b 4096



    Sau khi hoàn tất chúng ta sẽ tạo file: bh_sshcmd.py để kiểm tra xem đã hoạt động chưa.





    Sử dụng lệnh

    sudo python3 bh_sshcmd.py

    Kết quả:



    Bạn sẽ thấy rằng nó kết nối và sau đó chạy lệnh. Bạn có thể dễ dàng sửa đổi tập lệnh này để chạy nhiều lệnh trên máy chủ SSH hoặc chạy lệnh trên nhiều máy chủ SSH.

    Ta sẽ tiến hành tạo 2 file: bh_sshclient.py và bh_sshserver.py

    bh_sshclient.py



    bh_sshserver.py




    Email : vnpro@vnpro.org
    ---------------------------------------------------------------------------------------------------------------
    Trung Tâm Tin Học VnPro
    149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
    Tel : (08) 35124257 (5 lines)
    Fax: (08) 35124314

    Home page: http://www.vnpro.vn
    Support Forum: http://www.vnpro.org
    - Chuyên đào tạo quản trị mạng và hạ tầng Internet
    - Phát hành sách chuyên môn
    - Tư vấn và tuyển dụng nhân sự IT
    - Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

    Network channel: http://www.dancisco.com
    Blog: http://www.vnpro.org/blog
Working...
X