windows 上 Python 通过 SCP 连接linux server

环境搭建

需要安装以下包

  • pycrypto (需要VC编译环境)
  • paramiko  (SSH的基础)
  • scpclient-0.4 (paramiko 上的一个wrapper)

在安装pycrypto时我遇到了报错:

  error: command ‘mt.exe’ failed with exit status 31

解决办法:

  编辑 %PYTHON_INSTALL%Libdistutils, edit msvc9compiler.py,

  在行 ld_args.append(‘/MANIFESTFILE:’ + temp_manifest)  后面添加

  ld_args.append(‘/MANIFESTFILE’ )

运行

  参考 scpclient 的说明文档:https://pypi.python.org/pypi/scpclient

  如果想了解ssh的用法,可以看scpclient的源码,很简单,就一个python文件。

      我在运行scpclient例程时遇到两个问题

  • unknown host 问题:由于要连接的linux host没有添加到win7的knownhost 里(不知道怎么加),paramiko默认状态会拒绝连接。因此需要设置:ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  • SSHClient的connect()函数需要key_filename。其实这个参数可以省略。另外,我也可以在linux上生成一对key,考到win上使用

  

 

原文地址:https://www.cnblogs.com/englefly/p/3167229.html