Chào các bạn, tiếp tục trong chuỗi bài viết về lập trình Python, tôi xin giới thiệu một đoạn mã Python 3 sử dụng thư viện paramiko. Nhiệm vụ của đoạn mã này là thiết lập kết nối SSH tới một máy chủ Linux từ xa và thực hiện lệnh “cat /etc/*-release” trên đó.
Kết nối SSH và chạy command sử dụng Python 3
import paramiko
ssh = paramiko.SSHClient()
# Auto add host to known hosts
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# Connect to server
ssh.connect("192.168.2.100", username="root", password="123456")
# Do command
(ssh_stdin, ssh_stdout, ssh_stderr) = ssh.exec_command("cat /etc/*-release")
# Get status code of command
exit_status = ssh_stdout.channel.recv_exit_status()
# Print status code
print ("exit status: %s" % exit_status)
# Print content
for line in ssh_stdout.readlines():
print(line.rstrip())
# Close ssh connect
ssh.close()
Kết quả chạy thử:

Cài đặt paramiko module cho Python 3
Để thực hiện đoạn mã này, bạn cần cài đặt một Python Module/Package gọi là “paramiko.” Bạn có thể dùng lệnh sau để cài đặt nó thông qua pip3:
pip3 install paramiko
Khắc phục một số lỗi khi cài đặt paramiko
CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
pip3 install cryptography==2.4.2