• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

Recommended Posts

paramiko

一 介绍

2

# 用于帮助开发者通过代码远程连接服务器,并对服务器进行操作。

# pip3安装简单讲解及作业需求

二 通过用户名密码方式远程执行命令

2

3

5

6

8

9

10

11

12

13

14

15

16

17

18

19

导入简单讲解及作业需求

# 创建嘘对象

ssh=paramiko .SSHClient()

# 允许连接不在认识_主机文件中的主机

嘘。set _ missing _ host _ key _ policy(paramiko .AutoAddPolicy())

# 连接服务器

ssh.connect(主机名='192.168.16.85 ',端口=22,用户名='root ',密码='123456 ')

# 执行命令

stdin,stdout,stderr=ssh.exec_command('df ')

# 获取命令结果

result=stdout.read()

# 关闭连接

ssh.close()

print(result.decode('utf-8 '))

三 通过用户名密码方式上传下载文件

2

3

5

6

8

9

10

11

12

导入简单讲解及作业需求

transport=paramiko .运输((' 192.168.16.85 ',22))

传输.连接(用户名='root ',密码='123456 ')

sftp=paramiko .SFTPClient.from_transport(传输)

# 将location.py上传至服务器/tmp/test.py

# sftp.put('123.txt ','/data/123.txt ')

sftp.get('/data/123.txt ',' 123.txt ')

transport.close()

四 通过公钥私钥远程执行命令

2

3

5

6

8

9

10

11

12

13

14

15

16

17

18

19

20

导入简单讲解及作业需求

private_key=paramiko .RSA密钥。from _ private _ key _ file(r ' c :/Users/Administrator/.ssh/id _ RSA’)

# 创建嘘对象

ssh=paramiko .SSHClient()

# 允许连接不在认识_主机文件中的主机

嘘。set _ missing _ host _ key _ policy(paramiko .AutoAddPolicy())

# 连接服务器

ssh.connect(主机名='192.168.16.85 ',端口=22,用户名='root ',pkey=private_key)

# 执行命令

stdin,stdout,stderr=ssh.exec_command('df ')

# 获取命令结果

result=stdout.read()

# 关闭连接

ssh.close()

打印(结果)

五 通过公钥私钥远程上传下载文件

2

3

5

6

8

9

10

11

12

13

14

15

导入简单讲解及作业需求

private_key=paramiko .RSA密钥。from _ private _ key _ file(r ' c :/Users/Administrator/.ssh/id _ RSA’)

transport=paramiko .运输((' 192.168.16.85 ',22))

传输.连接(用户名='root ',pkey=private_key)

sftp=paramiko .SFTPClient.from_transport(传输)

# 将location.py上传至服务器/tmp/test.py

# sftp.put('/tmp/123.py ','/tmp/123.py ')

# 将移除路径下载到本地本地路径

# sftp.get('123.py ',' 123.py ')

transport.close()

六 通过私钥字符串远程连接服务器

2

3

5

6

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

# 也可以是存在于数据库中

密钥=""-开始南非共和国(Republic of South Africa)私钥-

-结束南非共和国(Republic of South Africa)私钥-' ' '

导入简单讲解及作业需求

从超正析象管导入斯特林乔

private_key=paramiko .RSAKey(file_obj=StringIO(key))

# 创建嘘对象

ssh=paramiko .SSHClient()

# 允许连接不在认识_主机文件中的主机

嘘。set _ missing _ host _ key _ policy(paramiko .AutoAddPolicy())

# 连接服务器

ssh.connect(主机名='192.168.16.85 ',端口=22,用户名='root ',pkey=private_key)

# 执行命令

stdin,stdout,stderr=ssh.exec_command('df ')

# 获取命令结果

result=stdout.read()

# 关闭连接

ssh.close()

打印(结果)

七 生成公钥私钥并上传

2

3

5

6

8

9

10

# 1 生成公钥和私钥s

sh-keygen.exe姆佩姆

# 2 在当前用户家目录会生成:ssh/id_rsa.pub .ssh/id_rsa

# 3 把公钥放到服务器

ssh-copy-id -i ~/.ssh/id _ RSA。pub root @ 192。168 .16 .85

# 4 以后再连接服务器时,不需要在输入密码

ssh [email protected]

Link to comment
Share on other sites