在使用云服務器時,很多時候我們需要通過跳板機才能登錄到目標服務器上。這篇文章將介紹如何使用 Python 登錄跳板機:
# 導入 paramiko 庫 import paramiko # 登錄跳板機 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname='jump_server_ip', port=22, username='username', password='password') # 登錄目標服務器 transport = ssh.get_transport() dest_addr = ('target_server_ip', 22) local_addr = ('localhost', 2222) channel = transport.open_channel("direct-tcpip", dest_addr, local_addr) ssh_target = paramiko.SSHClient() ssh_target.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_target.connect(hostname='target_server_ip', port=2222, username='username', password='password') # 執行命令 stdin, stdout, stderr = ssh_target.exec_command('ls') # 輸出結果 print(stdout.read().decode()) # 關閉連接 ssh_target.close() ssh.close()
以上是 Python 登錄跳板機的代碼實現,其中需要填寫跳板機和目標服務器的 IP 地址、用戶名、密碼等信息。