plumbum:SSH到我的远程服务器

时间:2017-08-21 13:00:18

标签: ssh plumbum

美好的一天,我在anaconda上使用plumbum连接到我的远程服务器A.

我创建了一个新用户linux2并为该用户分配了一个公钥。然后将.ssh和authorizedkeys上的权限更改为

  

chmod 700 /home/linux2/.ssh chmod 600

     

/home/linux2/.ssh/authorized_keys

当我尝试代码时:

from plumbum import SshMachine
rem=SshMachine("000.000.131.110",user="linux2",Password = "password")

我收到以下错误:请协助

  

CommandNotFound Traceback(最近一次调用   最后)in()         1#你的代码在这里         2来自plumbum import SshMachine   ----> 3 rem = SshMachine(" 000.000.131.110",user =" linux2",password ="密码")

     

C:\ ProgramData \ Anaconda3 \ lib中\站点包\铅\机\ ssh_machine.py   在 init (自我,主机,用户,端口,密钥文件,ssh_command,scp_command,   ssh_opts,scp_opts,密码,编码,connect_timeout,new_session)        77如果ssh_command为None:        如果密码不是,则为78:   ---> 79 ssh_command = local [" sshpass"] [" -p",password," ssh"]        80其他:        81 ssh_command = local [" ssh"]

     

C:\ ProgramData \ Anaconda3 \ lib中\站点包\铅\机\ local.py   在 getitem (self,cmd)       206其他:       207#搜索命令    - > 208返回LocalCommand(self.which(cmd))       209其他:       210引发TypeError(" cmd不能是RemotePath:%r"%(cmd,))

     

C:\ ProgramData \ Anaconda3 \ lib中\站点包\铅\机\ local.py   其中(cls,progname)       176路径:       177返回路径    - > 178引发CommandNotFound(progname,list(cls.env.path))       179       180 def path(self,* parts):

     

CommandNotFound :(' sshpass',[,,,,,,,,,,,   ,,,   ,,,,,   ,   ,   ,   ,   ,   ])

1 个答案:

答案 0 :(得分:1)

根据您的输出,您似乎是从Windows计算机上运行它。根据{{​​3}},您应该使用PuttyMachine(需要安装plumbum docs),或者使用ParamikoMachine在Windows上进行远程ssh连接。