별도의 스크립트 파일에서 파이썬 하위 프로세스 popen을 구현하여 설치 프로그램을 열었습니다. 이 파일만 실행중일 때 원하는 대로 실행됩니다. paramiko exec_command()에서 이 스크립트 파일을 실행해도 아무 런도 수행되지 않습니다. 명령 목록의 여러 인스턴스를 가질 수 있습니다. 실제로 이 간단한 예제와 같이 conf 파일에서 명령을 읽지 않습니다. 대신, 우리가 일반적으로이 스크립트를 사용 하는 방법은 단순히 원격 PC에 응용 프로그램을 설치 해야 호출 하는 것입니다. 이미지를 전송하기 위해 파라미코 스프트프를 사용하고 있습니다. 그런 다음 exec_command()를 사용하여 원격 PC에서 추출을 호출합니다. 이것은 잘 작동합니다. 그러나 어떤 이유로 응용 프로그램이 설치되지 않습니다.

가져오기 파라미코시_클라이언트 =파라미코. SSHClient()ssh_client.set_missing_host_key_policy(파라미코. AutoAddPolicy()ssh_client.connect(호스트네임=`hostname`, 사용자 이름=`목가디`, 암호=`mypassword`) 파라미코를 가져온 후 SSHClient를 보유할 새 변수 `ssh`를 만듭니다. ssh.set_missing_host_key_policy는 메시지가 표시되지 않고 서버의 호스트 키를 자동으로 추가합니다. 보안을 위해 프로덕션 환경에서는 좋은 생각이 아니며 호스트 키를 수동으로 추가해야 합니다. 호스트 키가 예기치 않게 변경되면 연결이 손상되어 다른 곳으로 전환되고 있음을 나타낼 수 있습니다. 이 문서의 예제에서는 일반적으로 IP 주소를 수정하고 항상 암호를 수정했습니다. 또한 look_for_keys를 추가하고 fact 후 (테스트) 후 allow_agent 인수를 추가했습니다. look_for_keys와 allow_agent 모두 SSH 키를 사용하는 데 관련이 있으며 암호 인증(사용하지 않는 경우)에 문제가 발생할 수 있습니다. 당신이 찾을 수있는 광범위한 paramiko API 문서가 있습니다 : http://docs.paramiko.org/en/stable/index.html 직물을 살펴보는 것이 좋습니다, 그것은 상용구의 대부분을 멀리 걸릴 것입니다. (오랫동안 당신은 “다른”측면에서 프로세스와 상호 작용할 필요가 없습니다, 상호 작용에 대한 나는 그것이 파라미코의 상단에 기대 API를 제공 https://github.com/fgimian/paramiko-expect 것이 좋습니다 것) 즉, Ssh괜찮아요 … 그러나 “순수한 파라미코”에서 어떻게 http://docs.paramiko.org/en/2.4/api/sftp.html#paramiko.sftp_client.SFTPClient.listdir 공식화 할 것인가? 가져오기 paramiko 가져오기 os, sys,시간 sys.path.append (os.path.dirname (os.path.dirname (os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(os.path.abspath(__file___))))))))에서 conf_file 가져오기 소켓 클래스 Ssh_Util으로 ssh_util: “원격 서버에 연결하는 클래스” def __init__self(self): 출력 = 없음 self.ssh_error = 없음 self.client = 없음 self.host= conf_file.

HOST self.username = conf_file. 사용자 이름 self.password = conf_file. 암호 self.timeout = 플로트(conf_file)입니다. TIMEOUT) self.commands = conf_file.COMMANDS self.pkey = conf_file. PKEY self.port = conf_file. 포트 self.uploadremotefilepath = conf_file. UPLOADREMOTEFILEPATH 셀프.업로드로컬파일경로 = conf_file. UPLOADLOCALFILEPATH 셀프 다운로드원격 파일 경로 = conf_file. 다운로드원격파일PATH 셀프.downloadlocalfilepath = conf_file.

DOWNLOADLOCALFILEPATH def connect(자체): “원격 서버에 로그인” 시도: #Paramiko.SSHClient는 원격 서버에 연결하고 파일을 전송하는 데 사용할 수 있습니다 “ssh 연결 설정” self.client = paramiko. SSHClient() #Parsing AutoAddPolicy의 인스턴스를 설정_missing_host_key_policy() 모든 호스트를 허용 하도록 변경 합니다.

Scroll Up