리눅스 서버에서 Windows 클라이언트로 SCP로 보내는 방법


23

PuTTY를 사용하여 Linux 컴퓨터에 SSH 연결하고 파일을 어딘가에 내 로컬 컴퓨터로 복사하려고합니다. 나는 그림 SCP이 일에 가장 적합한 후보하지만 정말 상관 없어, 너무 오래 솔루션 작품으로!

나는 cd내가 (원하는 파일이 들어있는 디렉토리 app.war) 및 다음을 입력합니다 :

scp app.war ./

나는 아무 소용없이 시도했습니다.

scp app.war ./C:/Users/myUser/
scp app.war ./Users/myUser/

SCP는 아마도 클라이언트 / 서버 도구이며 내 Windows 컴퓨터에는 클라이언트가 필요하다고 생각했습니다.

방금 잘못된 구문을 사용하고 있습니까? 아니면 오프-베이스 방식입니까? 그렇다면 어떤 옵션이 있습니까? 미리 감사드립니다!


이 질문에 대한 실제 답변은 다음과 같습니다. stackoverflow.com/a/23412501/1579667 . 구문은scp some_file user@host:/c/temp
Benj

Bitvise SSH 클라이언트 및 서버 도 참조하십시오 . Windows 용 가장 오래된 SSH 소프트웨어 중 하나입니다. 클라이언트는 무료로 다운로드하여 사용할 수 있습니다.
jww

답변:


25

파일을 Windows로 다시 복사하려면 Windows에서 SSH 데몬 / 서비스를 실행해야합니다. 대신이 도구를 사용하는 것이 훨씬 쉽습니다. Putty에서 세션을 가져올 수 있습니다. 그것을 사랑하십시오!

WinSCP :: Windows 용 무료 SFTP 및 FTP 클라이언트


그냥 멋진 도구 :). 그것을 사랑했다 \ m /
Chaitanya

실제로 명령 줄에 있던 원래 질문에 대답하지 않습니다. 원래 질문 아래 내 의견을 참조하십시오.
Benj

@Benj OP는 솔루션을 요청 WinSCP했으며 해당 작업에 적합한 솔루션입니다.
alexus

12

당신이 올바른지. SSHD는 호스트에서 실행되는 SSH 서버 서비스입니다. SSH 클라이언트 (예 : PuTTy), SCP 클라이언트 및 SFTP 클라이언트의 연결을 허용합니다.

PuTTY 가 호스팅 pscp되는 동일한 웹 사이트에서 다운로드 할 수 있습니다 .

Windows 시스템에서 다음과 유사한 명령을 실행합니다

pscp.exe someuser@somehost.com:/path/to/app.war c:\tmp


2

파일을 Windows 시스템으로 SCP로 보내려면 Windows에 SSH / SCP 서버가 필요합니다.

Windows에서는 기본적으로 SSH / SCP가 지원되지 않습니다. Windows 용 Microsoft OpenSSH 빌드 ( 릴리스 및 다운로드 ) 설치할 수 있습니다 . Windows 10 버전 1803 이상에서 선택적 기능으로 사용할 수 있습니다. 이전 버전의 Windows에 수동으로 설치할 수도 있습니다.

이 Microsoft OpenSSH 빌드를 사용하여 Windows에서 SSH / SFTP 서버 를 설정하기위한 안내서를 준비했습니다 .

참조 IIS SFTP는 기본적으로 Windows에서 지원됩니까?


Windows 시스템에서 Linux 서버로 SSH를 연결하면 실제로 Linux 서버에서 Windows 서버로 파일을 업로드하는 대신 Linux 서버에서 Windows 서버로 파일을 다운로드 할 수 있습니다.

Windows에서 Linux 로의 SSH 액세스 권한이있는 경우 SCP 액세스 권한이 있습니다 (또는 SFTP 액세스 권한이 더 우수함).

사용 가능한 SCP / SFTP 클라이언트를 사용하십시오.

GUI명령 줄 인터페이스 가 모두있는 WinSCP SFTP / SCP 클라이언트를 사용할 수 있습니다 .

또 다른 대안은 PuSTY 툴 세트인데, 여기에는 OpenSSH 명령 과 유사한 구문을 사용하는 pscp명령 행 도구 가 포함됩니다 scp. 또한 최신 버전의 Windows 10에는 OpenSSH가 scp내장되어 있으며 이전 버전에도 설치할 수 있습니다.

(저는 WinSCP의 저자입니다)


OSX / Linux 용 pscp 버전이 있습니까?
codingknob

@codingknob 물론 많은 배포판을위한 "퍼티"패키지가 있습니다. pscp기능은 OpenSSH scp와 기능적으로 동일 하지만 모든 / 대부분의 배포판에서 이미 쉽게 사용할 수 있습니다.
Martin Prikryl 2018 년

1

Windows 10에는 이제 OpenSSH가 내장되어 있습니다. https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse

관리자 명령 프롬프트 받기

Open PowerShell as an Administrator.

사용 가능한 버전 확인

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

클라이언트 설치

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

서버 설치

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

서버 시작 및 부팅시 활성화

Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'

Windows IP 주소 찾기

ipconfig

원격 (Linux) 시스템에서 IP 주소를 찾으십시오.

ifconfig

공개 SSH 키 생성

ssh-keygen.exe

암호를 항상 입력 할 필요가 없도록 공개 키를 로컬 (Windows)에서 원격 (Linux) 시스템으로 복사하십시오.

ssh-copy-id는 현재 Windows에서 사용할 수 없습니다.

cat C:\Users\YOU/.ssh/id_rsa.pub | ssh USER@REMOTE_IP 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'

Linux 시스템에서 동일하게 수행하십시오 (ssh-copy-id가 작동하지 않음)

ssh-keygen # if needed
cat ~/.ssh/id_rsa.pub | ssh USER@WINDOWS_IP 'mkdir -p ~/.ssh && type con >> C:/Users/YOU/.ssh/authorized_keys'
  • 위의 방법은 효과가 없었으므로 공개 키를 수동으로 SCP로 만들고 C : /Users/YOU/.ssh/authorized_keys 파일에 붙여 넣었습니다.

  • 여전히 작동하지 않으므로 sshd_config 파일을 수정해야했습니다.

    • 관리자 권한으로 메모장 열기

    • % programdata % \ ssh \ sshd_config를여십시오.

    • 다음 줄을 추가하십시오.

        Match User YOU
             AuthorizedKeysFile C:/Users/YOU/.ssh/authorized_keys
  • 재부팅

아직 비밀번호가없는 경우 Windows에서 비밀번호를 작성하십시오.

System Settings...Sign-in options

-a) '로그인 필요'옵션을 never로 설정하고 b) 'netplwiz'명령을 사용하고 '사용자는 반드시 비밀번호를 입력해야합니다 ...'확인란을 선택 취소하여 Windows 로그인 화면을 비활성화 할 수 있습니다.

이제 Linux 컴퓨터에서 SSH 또는 SCP를 사용할 수 있어야합니다

scp FILE WINDOWS_IP:C:/Users/YOU/Desktop

1

Windows 용 Linux Ubuntu 서브 시스템을 사용하여이를 수행 할 수 있습니다 (Windows 기능으로 사용하도록 설정해야 함). 그런 다음 Microsoft Store (예 : Ubuntu 16.04 LTS)에서 Windows를 실행하는 Linux 터미널 클라이언트를 사용할 수 있습니다. 그런 다음 Linux 시스템에 원격으로 ssh 보안을 설정 한 경우 scp로컬 Windows Ubuntu 터미널 (Linux 인스턴스에 설정 한 사용자 이름으로 로그인 한 경우)에서 다음과 같이 할 수 있습니다.

scp -i ~/.ssh/my_rsa username@11.11.11.11:~/myfile ~/ ... RSA 암호를 입력하십시오

원격 파일은 Windows에서 사용하는 로컬 Ubuntu 파일 시스템으로 복사됩니다.

C:\Users\my.username\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\my_linux_username


1
최신 버전의 Windows 10에는 (Win32-OpenSSH) scp(.exe)가 내장되어 있습니다. 아무것도 설치할 필요가 없습니다.
Martin Prikryl

-1

1 단계 : pscp
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 다운로드
(시스템에 따라 해당 버전을 다운로드)

2 단계 : pscp 명령에 익숙해 지려면
Windows 시스템에서 명령 프롬프트를 열고 pscp.exe를 다운로드 한 디렉토리로 이동하여 "pscp"를 입력하십시오.

3 단계 : Linux 시스템에서 Windows 시스템으로 파일 전송
명령 프롬프트를 열고 아래 명령을 실행하여 세부 사항을 제공하십시오.

pscp usernameofyourlinuxmachine@10.40.000.000:/path/of/your/File/nameofyourfile.txt ./

이 명령은 Linux 시스템에서 Windows 시스템의 현재 디렉토리로 파일을 전송합니다.

4 단계 : Windows 시스템에서 Linux 시스템으로 파일 전송
명령 프롬프트를 열고 아래 명령을 실행하여 세부 사항을 제공하십시오.

pscp nameofyourfile.txt usernameofyourlinuxmachine@10.40.000.000:/path/where/youwantyourfile

나는 이것이 분명하고 당신 모두에게 효과가 있기를 바랍니다!


2
링크 만 답변은 나중에 작동하지 않을 수 있으므로 다소 도움이되지 않습니다. 동영상의 단계를 실제로 설명하여 답변을 넓히십시오.
djsmiley2k 어둠 속에서
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.