와 상호 작용 리눅스 파이썬

# 코딩. 8 = UTF- 
가져 오기 paramiko
 에서 시간 가져 오기 SLEEP 

운송 = paramiko.Transport (( ' 192.168.1.58 ' , 22 인 ))
 인쇄 (전송)       #의 반환 <에서을 (연결되지 않은) 0x5745ed0는 paramiko.Transport> # 이 때, 당신은 볼 수 있습니다 전송이 연결되지 
transport.connect (이름 = " 루트 " , 패스워드 = ' 123456 ' )
 출력 (전송)   #의 복귀 <paramiko.Transport 0x5745ed0 (암호 aes128-에서 CTR, 128 비트) (액티브 0 개방 채널 (들) ) # 전화 연결> 후, 당신이 볼 수있는 전송 연결이 성공하지만, 활성 0은 채널이를 열 수 없음을 나타냅니다
= 채널 transport.open_session ()
 전단 (채널)       #에 반환 <paramiko.Channel 0 (개방형) 창 = 0 -> <paramiko.Transport 0x5745ed0 (AES128-CTR 암호화, 128 비트) (활성에서 1 개 개방 채널 (들) 활성 호 open_session 후) >> #는 개방 채널 창을 나타내는 1 = 0이지만,이 통로는 우리가 데이터 수신 할 수없는 것을 의미 
channel.get_pty ()를      #이 는 단부에 로그온 할 수 있도록 단말기를 활성화하고, 우리가 비슷한 사용 xshell 당신은 실행 명령 후 다시 크게 얻을 수있는이 명령을 사용하지 않는 경우. 같은를 기록하는 등 "[루트 @ localhost를 ~] #로 에코가 아닌 다른 표시되지 않습니다 " 
channel.invoke_shell ()
 인쇄 (채널)       #의 복귀 <0 paramiko.Channel (오픈) 2097152 창 = -> <paramiko.Transport 0x5745ed0 (CTR-암호 AES128, 128 비트)를 AT (액티브]. 개방 채널 1 (S)) >> 
                            #의 통화 invoke_shell () 이후, 창! = 0 우리는 이미 채널을 의미
SLEEP (2) #은 모두 2 초를 기다릴 경우, 에코 획득 불완전 할 수 있고, 반향 완료 한 번에 표시된다. 
= channel.recv_ready channelStatus1 ()       #의 데이터가 전체 에코 여부를 확인하는 데 사용 할 수없는 경우 거짓 경우 IO 데이터 경로가 존재하는지 여부를 확인 
인쇄 (channelStatus1)      # 이 Treue 돌아갑니다 
(backMsg = channel.recv (65535) .decode를 ' UTF-8 ' )       #은 #### 만 얻기 위해 터미널을 활성화한다고 강조의 로그인 정보를 얻을 
인쇄 (backMsg) 
channelStatus2 = channel.recv_ready ()
 인쇄 (channelStatus2) 
channel.send ( '의 LS \ N- 형 ' )    #\ n # 전단 (채널) 명령이 리턴 <paramiko.Channel 0 (오픈) = 입력 창 Qiaoxia 의해 경우에 해당 <paramiko.Transport에서 0x5745ed0 (AES128-CTR 암호화, 128-2097149 인 버퍼 = 67>을 비트)는 (활성]. 개방 채널 1 (S)) >> 
인쇄 (채널)   # 이 경우에 버퍼 = 67 (67B)의 복수의 에코의 함유량 나타내는 
(2) SLEEP     #는 모든 에코를 완료 한 시점에서 표시를 2 초를 기다리지 않을 경우, 인수 에코는 불완전 할 수 있습니다. 
= channelStatus3의 channel.recv_ready ()
 전단 (channelStatus3) = channel.recv (65535)      #은 RECV 콘텐츠, 콘텐츠 사이즈 65535의 값의 버퍼 값보다 작은 경우, 미리 읽기, 판독 될 것임을 나타냄에 버퍼 읽기 불완전한 
인쇄 (a)에     #이 콘텐츠를 읽을 인수 
인쇄 (a.decode ( ' UTF-. 8 ' ))     #획득 된 문자 유형이 표시되는 B의 RECV 값 리눅스 패턴의 단말에 표시하기로 트랜스 코딩 될 필요가있다. 우리는 단지 결과가 channel.get_pty () 코드 코멘트 수있는 명령에 의해 반환받을하려면 
인쇄 (채널)   #이 보기 채널, 후 읽기, 어떤에서 버퍼 값을 찾을 수 없습니다 
channel.close () 
() transport.close를

 

추천

출처www.cnblogs.com/testlearn/p/11775848.html