1.使用密码的SSH连接
- #!/usr/bin/env python
- import paramiko
- #远程服务器
- hostname = ‘192.168.0.1’
- #端口
- port = 22
- #用户名
- username = ‘Dominic’
- #密码
- password = ‘123456’
- #创建SSH连接日志文件(只保留前一次连接的详细日志,以前的日志会自动被覆盖)
- paramiko.util.log_to_file(‘paramiko.log’)
- s = paramiko.SSHClient()
- #读取know_host
- s.load_system_host_keys()
- #建立SSH连接
- s.connect(hostname,port,username,password)
- stdin,stdout,stderr = s.exec_command(‘df -h’)
- #打印标准输出
- print stdout.read()
- s.close()
由于第一种方式采用密码交互方式登陆远程服务器,使用起来不安全,下面这种方式采用KEY的方式登陆远程服务器,非常安全。
2.连接SSH服务器并远程执行命令-使用rsa私钥加密方式创建SSH连接
A.生成KEY
Linux # ssh-keygen –t rsa
B.创建SSH连接
- #!/usr/bin/env python
- import paramiko
- hostname = ‘192.168.0.1’
- port = 22
- username = ‘Dominic’
- pkey_file = ‘/home/Dominic/.ssh/id_rsa’
- key = paramiko.RSAKey.from_private_key_file(pkey_file)
- s = paramiko.SSHClient()
- s.load_system_host_keys()
- s.connect(hostname,port,username,pkey=key)
- stdin,stdout,stderr = s.exec_command(‘df -h’)
- print stdout.read()
- print stderr.read()
- s.close()
3.连接SSH服务器并远程执行命令-使用dsa私钥加密方式创建SSH连接
A.生成KEY
Linux # ssh-keygen –t dsa
B.创建SSH连接
- #!/usr/bin/env python
- import paramiko
- hostname = ‘192.168.0.1’
- port = 22
- username = ‘Dominic’
- pkey_file = ‘/home/Dominic/.ssh/id_dsa’
- key = paramiko.DSSKey.from_private_key_file(pkey_file)
- s = paramiko.SSHClient()
- s.load_system_host_keys()
- s.connect(hostname,port,username,pkey=key)
- stdin,stdout,stderr = s.exec_command(‘df -h’)
- print stdout.read()
- print stderr.read()
- s.close()
阅读(6163) | 评论(1) | 转发(2) |