美好的一天,我在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',[,,,,,,,,,,, ,,, ,,,,, , , , , , ])
答案 0 :(得分:1)
根据您的输出,您似乎是从Windows计算机上运行它。根据{{3}},您应该使用PuttyMachine(需要安装plumbum docs),或者使用ParamikoMachine在Windows上进行远程ssh连接。