PuTTY로 로그인 한 세션간에 파일 전송


85

PuTTY를 사용하여 원격 호스트에 로그인했습니다.

내 로컬 컴퓨터에서 PuTTY에 로그인 한 컴퓨터로 파일을 전송하는 명령은 무엇입니까?

답변:


73

이것은 아마도 당신이 묻는 것에 대한 직접적인 대답은 아니지만 SSH 세션을 통해 파일을 전송해야 할 때 SCP 또는 SFTP를 통한 훌륭한 파일 전송 프로그램 인 WinSCP를 사용 합니다. 물론 이것은 당신이 Windows에 있다고 가정합니다.


WinScp를 시도했지만 권한을 얻으려면 상자에서 명령을 실행해야합니다. 이것은 WinScp를 사용하여 가능하지 않은 것 같습니다.
blue-sky

@ user470184 : 맞습니다. 저는 보통 Putty와 WinSCP를 나란히 실행합니다. 실제로 WinSCP로 시작할 수 있으며 원하는 경우 "Putty에서이 사이트 열기"컨텍스트 메뉴가 있습니다.
Guido Domenici 2011 년

@GuidoDomenici WinSCP에 대한 나의 경험을 여기에서 확인하세요 : ux.stackexchange.com/q/35936/4424 :-)
corsiKa


서버가 개인 키로 자격 증명을 사용하기 때문에 WinSCP가 서버에 연결되지 않습니다. WinSCP는 SSH-1 키를 지원하지 않습니다. 나는 그 유형의 키를 지원하는 프로그램을 찾고 있습니다. 당신은 어떤 아이디어가 있습니까?
mishanon

43

  • 시작 메뉴를 클릭하십시오.
  • 클릭 실행
  • 열기 상자에 cmd를 입력 한 다음 확인을 클릭합니다.
  • 명령 프롬프트에서 다음을 입력하십시오.

    c :> pscp source_file_name userid @ server_name : / path / destination_file_name.

예를 들면 :

c :> pscp november2012 wrhse@warehouse.cit.cornell.edu : / mydata / november2012.

  • 메시지가 표시되면 서버 암호를 입력하십시오.

즐겨


14
그리고 다음과 같이 반전 할 수 있습니다 : 'c :> pscp wrhse@warehouse.cit.cornell.edu : / mydata / november2012 november2012'원격 시스템에서 파일을 수신합니다.
xan 2013

3
pscp는 퍼티 패키지의 일부이지만 내 경로에 없으므로 이것이 작동하기 전에 내 경로에 추가해야했습니다. pscp는 putty exe와 같은 위치에 있어야합니다. 제 경우에는 c : \ Program Files (x86) \ PuTTY.
Frek

로그인 후 사용자를 전환해야하는 경우 어떻게합니까? sudo su - user
Stevoisiak

1
당신은 전체 퍼티 패키지를 설치하지 않은 경우에는 별도로 PSCP 프로그램을 다운로드해야합니다 chiark.greenend.org.uk/~sgtatham/putty/latest.html
제임스 뉴턴에게

17

PuTTY는 일반적으로 이러한 목적으로 활용할 수있는 psftp라는 클라이언트와 함께 제공됩니다. 나는 당신이 표준 PuTTY 클라이언트를 통해 그것을 할 수 있다고 믿지 않습니다 (내가 틀린 것으로 입증 될 수 있지만).

PuTTY는 원격 시스템을 조작 할 수있는 액세스 권한 만 제공합니다. 원격 시스템에 앉아있는 것보다 두 파일 시스템 간의 직접 링크를 제공하지 않습니다.


psftp가 원격 시스템에 설치되어 있지 않음
blue-sky

4
그럴 필요가 없습니다. 로컬 컴퓨터에서만.
corsiKa 2011 년

: 그리고 여기 PSFTP와 파일을 transfering에 대한 몇 가지 정보입니다 pic.dhe.ibm.com/infocenter/tsmscv13/v1r0m0/...
shasi kanth

8

PuTTY 창에서 열린 SSH 세션에서 로컬 Windows로 /에서 파일 전송을 다시 시작할 수있는 방법은 없습니다.

PuTTY는 연결 공유를 지원하지만.

여전히 호환되는 파일 전송 클라이언트 ( pscp또는 psftp) 를 실행해야하지만 새 로그인이 필요하지 않으며 자동으로 (활성화 된 경우) 기존 PuTTY 세션을 사용합니다.

공유를 활성화하려면
PuTTY 도구간에 SSH 연결 공유를 참조하십시오 .


다른 방법은 GUI SFTP / SCP 클라이언트 인 WinSCP를 사용하는 것입니다. 원격 사이트를 탐색하는 동안 PuTTY에서 열기 버튼을 사용하여 언제든지 동일한 사이트에 대한 SSH 터미널을 열 수 있습니다 .

PuTTY에서 세션 열기를 참조하십시오 .

추가 설정을 통해 PuTTY가 WinSCP를 사용하여 검색하는 동일한 디렉터리로 자동으로 이동하도록 할 수도 있습니다.

동일한 디렉토리에서 PuTTY 열기를 참조하십시오 .

(저는 WinSCP의 저자입니다)


1
Martin, WinSCP는 대단합니다. 그리고 정말 감사합니다 :-)
shadowf

7

다음에서 psftp.exe를 다운로드 할 수도 있습니다.

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

실행하면 다음을 입력합니다.

open "server name"

그때:

put "file name"

(전체 명령 목록을 보려면 help를 입력하십시오.)

get <file name>원격 시스템에서 로컬 시스템으로 파일을 다운로드하기 위해 입력 할 수도 있습니다 .


6

파일이 하나 뿐인 경우 다음 절차를 사용할 수 있습니다 (퍼티에서).

  1. vi filename.extension (서버의 활성 폴더에서 새 파일 이름을 엽니 다),
  2. 복사 + 마우스 오른쪽 클릭 (복사 및 붙여 넣기),
  3. 편집하고 저장하십시오. => vi 편집기 명령

다음 명령으로 파일 권한 편집 : chmod u + x filename.extension


이것은 클립 보드에 맞는 텍스트 파일에 대해 놀랍도록 잘 작동합니다. 바이너리 파일의 경우 xxd를 참조 하지만 바이너리를 16 진수로 변환하려면 Windows 프로그램도 필요합니다. 예를 들어 Hexdump에서는
제임스 뉴턴

4

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"

천재입니다! 나는 잠시 동안 활성 SSH 세션을 통해 파일을 전송하는 방법을 찾고 있었는데 이것이 내가 쉽게 작업 할 수있는 첫 번째 방법입니다. 이 기술이 macOS 또는 Linux 기반 클라이언트 (즉, PuTTY 이외의 터미널)에서 터미널을 사용하여 작동하도록 수정 될 수 있는지 알고 있습니까?
Dominic P

3

개인 키 유효성 검사를 수행해야하는 경우 명령 프롬프트 (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완전히 재설정하는 것이 아니라 새로운 경로를 추가해야합니다.
Martin Prikryl 2017

set PATH = C : \ PuttySetupLocation을 실행 하면 경로가 재설정되지 않고 PSCP가 새 항목으로 path에 추가됩니다. 또한 C : \ PuttySetupLocation \ pscp를 사용하는 것이 옳 으며 유효 할 수도 있습니다.
ÖMER TAŞCI

1
경로를 재설정합니다.
Martin Prikryl 2017

어떤 암호? 비밀번호 설정과 관련이 없어야합니다.
ÖMER TAŞCI

무슨 암호? 아마도 "path" 대신 "password" 오타로 게시 한 직후 내 댓글을 읽을 수 있습니다 . 게시물을 올린 후 (귀하의 의견이 있기 훨씬 전에) 수정했습니다.
마틴 Prikryl

3

이봐:

http://web.archive.org/web/20170106202838/https://it.cornell.edu/services/managed_servers/howto/file_transfer/fileputty.cfm#puttytrans

pscp.exe여기에서 찾을 수있는 PuTTY에서 사용 하는 것이 좋습니다 . https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

세션 중 모든 명령이 서버로 전송되기 때문에 FTP와 같은 직접 전송은 불가능합니다.


감사합니다. 링크가 자세히 보이지 않는 개인 키를 사용하여 로그인했습니다.
blue-sky

1
@ user470184 방법을 모른 채 2 년을 다녀 오 셨다면이 작업을 수행 할 수있는 방법에 대한 몇 가지 지침은 아래에서 찾을 수 있습니다. >이 페이지 <
Hawkwing

1

Putty (pscp / plink.exe)로 파일 전송

기본 퍼티 설치는 파일을 전송하는 여러 방법을 제공합니다. 대부분 putty기본 경로에 있으므로 putty명령 프롬프트에서 직접 호출 할 수 있습니다 . 그렇지 않은 경우 환경 변수를 변경해야 할 수 있습니다. https://it.cornell.edu/managed-servers/transfer-files-using-putt에서 지침을 참조하십시오.

단계

  1. 입력하여 명령 프롬프트 열기 cmd

  2. 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)/"

  3. 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)/"

  4. 때로는 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"

  5. 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를 참조하십시오.


0

이러한 방식으로 Windows에서 pscp는 직접 업로드를 허용합니다 (예 : 키 수락에 대한 요청없이).

pscp.exe -scp -pw 'my_pw' -v -i my.ppk -l root -batch -sshlog logfile19.txt -hostkey ba:2e:4d:12:68:82:19:a1:d2:22:bc:12:c2:1a:44:a7 hallo4.txt root@10.10.10.10:/srv/www/htdocs/xml_parser/hallo4.txt

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.