昨天我可以使用以下脚本从我的Windows PC成功连接到Unix服务器:
**import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('punltc02.force.com',username = 'amkar',password = 'new')
stdin,stdout,stderr = ssh.exec_command("pwd") (it works !!)
>>> stdout.readlines()
[u'/home/amkar\n'
今天,我正在尝试做同样的事情,但我试图从我的笔记本电脑连接到Windows桌面而不是Unix服务器。我需要连接到桌面并开始使用Python运行应用程序。我收到以下错误:
*`enter code here`*>>> ssh.connect('135.24.237.144',username =
'administrator',password = 'force')
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "C:\Python27\lib\site-packages\paramiko\client.py", line 251, in
connect
retry_on_signal(lambda: sock.connect(addr))
File "C:\Python27\lib\site-packages\paramiko\util.py", line 270, in
retry_on_signal
return function()
File "C:\Python27\lib\site-packages\paramiko\client.py", line 251, in
<lambda>
retry_on_signal(lambda: sock.connect(addr))
File "C:\Python27\lib\socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
error: [Errno 10061] No connection could be made because the target
machine actively refused it**
我怀疑是否需要在LAN桌面上安装OpenSSH。或者,还有其他方法可以做到这一点。请帮忙。
谢谢和问候, Amitra
答案 0 :(得分:0)
您必须在LAN桌面上安装OpenSSH。
如果已安装OpenSSH,则尝试禁用防火墙。 Ping远程计算机以检查计算机和远程计算机之间是否存在连接。
您可以使用Paramiko来执行远程应用程序。您可以使用ssh.exec_command()例如:
import paramiko
sh = paramiko.SSHClient()
ssh.connect(server, username=username, password=password)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cmd_to_execute_on_remote_machine)
其他可能性是PsExec。
答案 1 :(得分:0)
也许是这样的?
http://resources.infosecinstitute.com/creating-undetectable-custom-ssh-backdoor-python-z/
import paramiko
import threading
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('10.0.2.15', username='root', password='toor')
chan = ssh.get_transport().open_session()
chan.send('Hey i am connected :) ')
print chan.recv(1024)
client.close