Thư viện paramiko là cách phổ biến nhất để SSH từ Python.
Cài đặt
pip install paramiko
Yêu cầu
- Đã setup SSH key trên server (public key trong
~/.ssh/authorized_keys). - Private key truy cập được từ máy chạy script.
Code cơ bản
from paramiko import SSHClient
ssh = SSHClient()
ssh.load_system_host_keys() # load known_hosts
ssh.connect('user@server:path') # hoặc host='server', username='user', key_filename='~/.ssh/id_rsa'
stdin, stdout, stderr = ssh.exec_command('ls')
print(stdout.read().decode())
ssh.close()
Best practice: Context manager
with SSHClient() as ssh:
ssh.load_system_host_keys()
ssh.connect(hostname='server', username='user', key_filename='~/.ssh/id_rsa')
stdin, stdout, stderr = ssh.exec_command('ls -la')
for line in stdout:
print(line.strip())
Lưu ý: AutoAddPolicy() tự động chấp nhận host key mới (không an toàn cho production).