
python详解paramiko
paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。paramiko支持Linux, Solaris, BSD, MacOS X, Windows等平台通过SSH从一个平台连接到另外一个平台。利用该模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输。
一、SSHClient类
SSHClient的作用类似于Linux的ssh命令,是对SSH会话的封装,该类封装了传输(Transport),通道(Channel)及SFTPClient建立的方法(open_sftp),通常用于执行远程命令。
ssh远程连接服务器 connet()
1 | connect(ip, port=22, username=None, password=None, pkey=None, key_filename=None, timeout=None, allow_agent=True, look_for_keys=True, compress=False, sock=None, gss_auth=False, gss_kex=False, gss_deleg_creds=True, gss_host=None, banner_timeout=None, auth_timeout=None, gss_trust_dns=True, passphrase=None) |
参数说明:
- ip(str类型),连接的目标主机地址;
- port(int类型),连接目标主机的端口,默认为22;
- username(str类型),校验的用户名(默认为当前的本地用户名);
- password(str类型),密码用于身份校验或解锁私钥;
- pkey(Pkey类型),私钥方式用于身份验证;
- key_filename(str or list(str)类型),一个文件名或文件名列表,用于私钥的身份验证;
- timeout(float类型),一个可选的超时时间(以秒为单位)的TCP连接;
- allow_agent(bool类型),设置为False时用于禁用连接到SSH代理;
- look_for_keys(bool类型),设置为False时用于来禁用在~/.ssh中搜索私钥文件;
- compress(bool类型),设置为True时打开压缩。
1 | import paramiko |
执行命令
1 | import paramiko |