freeSSHD 使用说明

先骂一句,垃圾软件!!!

安装

注意:

  1. 安装后需要在 windows 任务管理器中将其删除,然后再重新启动
  2. 服务处于开启状态的时候的任何配置,都是不生效的(重新关闭打开就没了)所以最好关闭软件运行就自动开启 ssh 和 telnet 功能。
  3. ssh 和 telnet 都有一个最大连接数,默认为 0
  4. 如果连接出现 Permiss Denied 可以先关闭SSH服务,删掉用户再添加一次。
  5. 软件最好以管理员方式运行在进行配置
  6. sftp 目录最好不要设置再 c 盘下,防止上传时无权限

连接

1
ssh -p 33 [email protected]

Python 连接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import paramiko


class SSHConnection(object):

def __init__(self, host='127.0.0.1', port=33, username='test', pwd='111'):
self.host = host
self.port = port
self.username = username
self.pwd = pwd
self.__k = None

def connect(self):
transport = paramiko.Transport((self.host, self.port))
transport.connect(username=self.username, password=self.pwd)
self.__transport = transport

def close(self):
self.__transport.close()

def upload(self, local_path, target_path):
sftp = paramiko.SFTPClient.from_transport(self.__transport)
sftp.put(local_path, target_path)

def download(self, remote_path, local_path):
sftp = paramiko.SFTPClient.from_transport(self.__transport)
sftp.get(remote_path, local_path)

def cmd(self, command):
ssh = paramiko.SSHClient()
ssh._transport = self.__transport
# 执行命令
stdin, stdout, stderr = ssh.exec_command(command)
# 获取命令结果
result = stdout.read()
print(str(result, encoding='utf-8'))
return result


if __name__ == "__main__":
ssh = SSHConnection()
ssh.connect()
# ssh.cmd("ls")
ssh.upload('SSP.py', 'SSP.py')
ssh.download('SSP.py', 'SSP.py2', )
# ssh.cmd("df")
# ssh.close()