Python+paramiko实现绕过跳板机免密登录服务端
前提,服务端和客户端已配置公钥、私钥,详情可参见: ssh-keygen生成公钥私钥
详见代码:
import paramiko # 服务器信息 host = {"host": " ", "port": , "username": " "} private_key = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa') class SSHConnection(object): def __init__(self, host_dict): self.host = host_dict['host'] self.port = host_dict['port'] self.username = host_dict['username'] self.__k = None self.private_key = private_key def connect(self): transport = paramiko.Transport((self.host, self.port)) transport.connect(username=self.username, pkey=self.private_key) self.__transport = transport def close(self): self.__transport.close() def __del__(self): self.close() ssh = SSHConnection(host) ssh.connect()