PuTTY를 사용하여 원격 호스트에 로그인했습니다.
내 로컬 컴퓨터에서 PuTTY에 로그인 한 컴퓨터로 파일을 전송하는 명령은 무엇입니까?
답변:
이것은 아마도 당신이 묻는 것에 대한 직접적인 대답은 아니지만 SSH 세션을 통해 파일을 전송해야 할 때 SCP 또는 SFTP를 통한 훌륭한 파일 전송 프로그램 인 WinSCP를 사용 합니다. 물론 이것은 당신이 Windows에 있다고 가정합니다.
sudo
WinSCP에서 만들려면 FAQ 로그인 후 사용자를 변경하는 방법 (예 : su root)을 참조하십시오.
c :> pscp source_file_name userid @ server_name : / path / destination_file_name.
c :> pscp november2012 wrhse@warehouse.cit.cornell.edu : / mydata / november2012.
즐겨
sudo su - user
PuTTY는 일반적으로 이러한 목적으로 활용할 수있는 psftp라는 클라이언트와 함께 제공됩니다. 나는 당신이 표준 PuTTY 클라이언트를 통해 그것을 할 수 있다고 믿지 않습니다 (내가 틀린 것으로 입증 될 수 있지만).
PuTTY는 원격 시스템을 조작 할 수있는 액세스 권한 만 제공합니다. 원격 시스템에 앉아있는 것보다 두 파일 시스템 간의 직접 링크를 제공하지 않습니다.
PuTTY 창에서 열린 SSH 세션에서 로컬 Windows로 /에서 파일 전송을 다시 시작할 수있는 방법은 없습니다.
PuTTY는 연결 공유를 지원하지만.
여전히 호환되는 파일 전송 클라이언트 ( pscp
또는 psftp
) 를 실행해야하지만 새 로그인이 필요하지 않으며 자동으로 (활성화 된 경우) 기존 PuTTY 세션을 사용합니다.
공유를 활성화하려면
PuTTY 도구간에 SSH 연결 공유를 참조하십시오 .
다른 방법은 GUI SFTP / SCP 클라이언트 인 WinSCP를 사용하는 것입니다. 원격 사이트를 탐색하는 동안 PuTTY에서 열기 버튼을 사용하여 언제든지 동일한 사이트에 대한 SSH 터미널을 열 수 있습니다 .
PuTTY에서 세션 열기를 참조하십시오 .
추가 설정을 통해 PuTTY가 WinSCP를 사용하여 검색하는 동일한 디렉터리로 자동으로 이동하도록 할 수도 있습니다.
동일한 디렉토리에서 PuTTY 열기를 참조하십시오 .
(저는 WinSCP의 저자입니다)
다음에서 psftp.exe를 다운로드 할 수도 있습니다.
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
실행하면 다음을 입력합니다.
open "server name"
그때:
put "file name"
(전체 명령 목록을 보려면 help를 입력하십시오.)
get <file name>
원격 시스템에서 로컬 시스템으로 파일을 다운로드하기 위해 입력 할 수도 있습니다 .
파일이 하나 뿐인 경우 다음 절차를 사용할 수 있습니다 (퍼티에서).
다음 명령으로 파일 권한 편집 : chmod u + x filename.extension
to / from에 대해 물었으므로 여기에 'from'부분에서 작동하는 트릭이 있습니다. '설정 변경 ...'화면, 터미널을 열고 'ANSI 프린터 출력을 보낼 프린터 :'에서 '일반 / 텍스트 전용'을 선택합니다.
이제 원격 시스템에서 다음을 한 줄로 실행합니다.
tput mc5; cat whatever.txt; tput mc4
Putty는 파일이 저장되었음을 알려줍니다. 이 작업은 터미널을 프린터 모드 (tput mc5)로 설정하고 파일을 화면에 인쇄 (cat) 한 다음 프린터 모드를 끄는 것 (tput mc4)입니다. 모든 명령을 한 줄에 입력하지 않으면 Putty가 모든 터미널 출력을 백그라운드의 파일에 저장하기 때문에 화면이 정지 된 것처럼 보입니다.
tput 명령 (예 : qnap)이없는 더 제한된 시스템을 사용하는 경우 tput mc5 대신 printf "\ x1b [5i"를 사용하고 tput mc4 대신 printf "\ x1b [4i"를 시도 할 수 있습니다. .
중간에있는 명령은 화면에 인쇄되는 모든 것입니다. 따라서 tail -n 10000 blah.log를 사용하여 로그 파일의 마지막 10k 줄을 다운로드하거나 base64 인코더를 사용하여 바이너리 파일을 인쇄 할 수있는 항목에 매핑 한 다음 로컬 시스템에서 디코딩합니다.
printf "\x1b[5i"; openssl enc -base64 -in something.zip; printf "\x1b[4i"
개인 키 유효성 검사를 수행해야하는 경우 명령 프롬프트 (cmd)에서 다음을 실행합니다.
먼저;
set PATH=C:\PuttySetupLocation
둘째;
pscp -i C:/MyPrivateKeyFile.ppk C:/MySourceFile.jar ubuntu@55.69.41.155:/home/ubuntu
또한 추가 옵션이 필요한 경우 다음 링크를 참조하십시오. https://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter5.html
set PATH=C:\PuttySetupLocation
무엇입니까? C:\PuttySetupLocation\pscp
직접 하지 그래요? -수정을 원하더라도 PATH
완전히 재설정하는 것이 아니라 새로운 경로를 추가해야합니다.
이봐:
pscp.exe
여기에서 찾을 수있는 PuTTY에서 사용 하는 것이 좋습니다 . https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
세션 중 모든 명령이 서버로 전송되기 때문에 FTP와 같은 직접 전송은 불가능합니다.
Putty (pscp / plink.exe)로 파일 전송
기본 퍼티 설치는 파일을 전송하는 여러 방법을 제공합니다. 대부분 putty
기본 경로에 있으므로 putty
명령 프롬프트에서 직접 호출 할 수 있습니다
. 그렇지 않은 경우 환경 변수를 변경해야 할 수 있습니다. https://it.cornell.edu/managed-servers/transfer-files-using-putt에서 지침을 참조하십시오.
단계
입력하여 명령 프롬프트 열기 cmd
Windows 컴퓨터 에서 다른 Windows 컴퓨터 로 폴더를 전송하려면 다음을
사용하십시오 ( -r
파일이 반복적으로 전송된다는 것을 나타내는 플래그에 주목하십시오. 압축 할 필요가 없습니다).
pscp -r -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" ipython_user@10.15.48.54:/"C:/Program Files (x86)/"
Windows 컴퓨터 에서 다른 Windows 컴퓨터 로 파일을 전송하려면
다음을 사용하십시오.
pscp -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" ipython_user@10.15.48.54:/"C:/Program Files (x86)/"
때로는 plink
설치 만했을 수도 있습니다 . plink
잠재적으로 파일을 전송하는 데 사용될 수 있지만 가장 좋은 것은 간단한 텍스트 파일로 제한됩니다. 바이너리 파일에서 알 수없는 동작이있을 수 있습니다 ( /superuser/1289455/create-text-file-on-remote-machine-using-plink-putty-with-contents-of-windows-lo ) :
plink -i C:/Users/username/.ssh/id_rsa.ppk user@host <localfile "cat >hostfile"
Linux 서버에서 Windows 컴퓨터로 Linux 컴퓨터로 파일을 전송하려면
pscp -r -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" username@10.15.48.16:/home/username
이 모든 것이 작동하려면 적절한 공개 / 개인 키가 있어야합니다. 퍼티 용으로 생성하려면 https://superuser.com/a/1285789/658319를 참조하십시오.