如何在Paramiko中指定文件夹路径
import paramiko
import os
import sys
ssh = paramiko.SSHClient()
paramiko.util.log_to_file('U:\\Temp\\paramiko.log')
ssh.load_system_host_keys()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('172.18.24.234','/TestBTEC/',22,'btectest','M3j0Stanf0rd')
stdin, stdout, stderr = ssh.exec_command("mkdir abc")
stdout.readlines()
这显然是在报错。正确的方法是什么,才能为远程服务器上的用户btectest设置主目录呢?
2 个回答
0
你传给SSHCient.connect()的参数不对(至少在paramiko 1.6及以上版本中是这样)。你的connect()调用应该像这样:
ssh.connect('172.18.24.234', username='btectest', password='...')
或者如果你想明确指定端口的话,可以这样写:
ssh.connect('172.18.24.234', 22, 'btectest', '...')
一旦连接成功,你应该已经在用户“btectest”的主目录下了,可以通过这个命令来查看:
stdin, stdout, stderr = ssh.exec_command("pwd")
stdout.readlines()
1
你可以把用户的主目录设置为父目录,而不是直接设置。下面是一个简单的例子:
abc_dir = os.path.join('%UserProfile%','abc')
cmd = "mkdir %s" % abc_dir
stdin, stdout, stderr = ssh.exec_command(cmd)