1. 셸 명령
$ sshpass -p ${passwd} ssh -p ${port} -l ${user} -o StrictHostKeyChecking=no xx.xx.xx.xx "ls -l"
을 사용하면 출력에 필요하지 않지만 제거할 수 없는 많은 정보가 포함되어 있음을 알 수 있습니다.
셸 명령의 경우 파이프를 직접 사용하거나 표준 출력을 파일로 리디렉션하여 실행 결과를 얻을 수 있습니다.
2. 하위 프로세스 사용
파이썬을 통해 os.popen, os.system, Commands, subprocess 등과 같은 일부 명령 실행 라이브러리를 사용하여 시스템 정보를 간접적으로 얻는 것을 생각할 수 있습니다. 이러한 라이브러리에서 얻은 출력에는 표준 출력뿐만 아니라 표준 오류 정보도 포함되어 있습니다. 따라서 원하는 데이터를 얻으려면 매번 출력을 정리하고 형식을 지정해야 합니다.
import subprocess ssh_cmd = "sshpass -p ${passwd} ssh -p 22 -l root -o StrictHostKeyChecking=no xx.xx.xx.xx 'ls -l'" status, output = subprocess.getstatusoutput(ssh_cmd) # 数据清理
간단히 ssh 명령을 간접적으로 사용하는 데는 몇 가지 문제가 있습니다.
sshpass를 추가로 설치해야 합니다(비밀번호가 필요하지 않은 경우)
간섭 정보가 너무 많고 데이터 정리 및 포맷이 상당히 까다롭습니다. 귀찮아
코드 구현이 우아하지 않고 가독성이 너무 떨어집니다
ssh 연결을 재사용할 수 없으며 하나의 연결은 하나의 명령만 실행할 수 있습니다
코드는 모든 플랫폼에서 사용할 수 없으며 사용할 수만 있습니다. Linux 및 OSX
3. Paramiko
Installation
python3 -m pip install
사용 방법 1: 사용자 이름과 비밀번호를 기반으로 sshclient를 통해 로그인
이 방법은 SSH 연결을 재사용할 수 없습니다.
import paramiko ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 建立连接 ssh.connect("xx.xx.xx.xx", username="root", port=22, password="you_password") # 使用这个连接执行命令 ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command("ls -l") # 获取输出 print(ssh_stdout.read()) # 关闭连接 ssh.close()
방법 2: 사용자 이름과 비밀번호를 기반으로 전송을 통해 로그인
이 방법은 연결을 재사용할 수 있습니다.
import paramiko # 建立连接 trans = paramiko.Transport(("xx.xx.xx.xx", 22)) trans.connect(username="root", password="you_passwd") ssh = paramiko.SSHClient() ssh._transport = trans ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command("ls -l") print(ssh_stdout.read()) # 关闭连接 trans.close()
방법 3: 공개 키를 기반으로 한 SSHClient 로그인
이 방법은 SSH 연결을 재사용할 수 없습니다.
import paramiko # 指定本地的RSA私钥文件 # 如果建立密钥对时设置了密码,password为passphrase。如果没有passphrase则无需指定password参数。 pkey = paramiko.RSAKey.from_private_key_file('/home/you_username/.ssh/id_rsa', password='12345') # 建立连接 ssh = paramiko.SSHClient() ssh.connect(hostname='xx.xx.xx.xx', port=22, username='you_username', pkey=pkey) # 执行命令 stdin, stdout, stderr = ssh.exec_command('ls -l') # 结果放到stdout中,如果有错误将放到stderr中 print(stdout.read()) # 关闭连接 ssh.close()
방법 4: 공개 키를 기반으로 한 전송 방법 로그인
이 방법은 연결을 재사용할 수 있습니다.
import paramiko # 指定本地的RSA私钥文件 # 如果建立密钥对时设置了密码,password为passphrase。如果没有passphrase则无需指定password参数。 pkey = paramiko.RSAKey.from_private_key_file('/home/you_username/.ssh/id_rsa', password='12345') # 建立连接 trans = paramiko.Transport(('xx.xx.xx.xx', 22)) trans.connect(username='you_username', pkey=pkey) ssh = paramiko.SSHClient() ssh._transport = trans # 执行命令,和传统方法一样 stdin, stdout, stderr = ssh.exec_command('df -hl') print(stdout.read().decode()) # 关闭连接 trans.close()
sftp 파일 전송
import paramiko trans = paramiko.Transport(('xx.xx.xx.xx', 22)) # 建立连接 trans.connect(username='you_username', password='you_passwd') # 实例化一个 sftp对象,指定连接的通道 sftp = paramiko.SFTPClient.from_transport(trans) # 发送文件 sftp.put(localpath='/tmp/11.txt', remotepath='/tmp/22.txt') # 下载文件 sftp.get(remotepath='/tmp/22.txt', localpath='/tmp/33.txt') trans.close()
위 내용은 Python을 통해 Linux 원격 로그인 및 SFTP를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
