Development Tip

Linux에서 Windows로 scp

yourdevel 2021. 1. 10. 19:39
반응형

Linux에서 Windows로 scp


Linux 상자에 성공적으로 연결하기 위해 Windows 시스템에서 퍼티 클라이언트를 실행하고 있습니다. 지금은 경로에 리눅스 컴퓨터에서 파일을 복사 할 수 있도록하려면 /home/ubuntu/myfileC:/Users/Anshul/Desktop내 로컬 컴퓨터에. Windows 시스템의 사용자는 anshul입니다. 퍼티에 다음 명령을 내리고 있지만 작동하지 않습니다.

scp /home/ubuntu/myfile ip_address_of_windows_machine:C:/Users/Anshul/Desktop 

Windows 시스템의 경로가 잘못되었다고 생각합니다. 많은 포럼에서 내 머리를 부딪 혔지만 Windows 서버에 대한 올바른 경로를 제공하는 것 같지 않으므로 도와주세요. 다음과 같은 대체 옵션을 제안하지 마십시오.WinScp


다운로드 pscp에서 퍼티 다운로드 페이지는 다음과 같이 Windows 시스템 CMD에서 사용 :

pscp username_linux_machine@ip_of_linux_machine:/home/ubuntu/myfile.ext C:\Users\Name\Downloads

Linux 시스템의 사용자 이름 암호에 대해 묻고 복사를 수행합니다.


이것을 시도해보십시오. 정말 작동합니다.

$ scp username@from_host_ip:/home/ubuntu/myfile /cygdrive/c/Users/Anshul/Desktop

그리고 모든 파일 복사

$ scp -r username@from_host_ip:/home/ubuntu/ *. * /cygdrive/c/Users/Anshul/Desktop

이것은 나를 위해 일했습니다.

scp /home/ubuntu/myfile username@IP_of_windows_machine:/C:/Users/Anshul/Desktop 

Windows는 SSH/SCP/SFTP기본적으로 지원하지 않습니다 . 해당 Windows 서버에서 SSH 서버 애플리케이션을 실행하고 있습니까? 그렇다면 구성 옵션 중 하나가 루트가있는 위치 일 수 있으며 해당 루트에 상대적인 경로를 지정합니다. 어쨌든 Windows에서 실행중인 SSH 서버 응용 프로그램에 대한 설명서를 확인하십시오.

또는을 사용 smbclient하여 파일을 Windows 공유로 푸시합니다.


Git Bash 콘솔로 Windows에서 액세스 :

scp root@ip:/etc/../your-file "C:/Users/XXX/Download"

IMHO, 다음과 같은 것을 사용합니다.

scp -r username_Linuxmachine@LinuxMachineAddress:Path/To/File .

프로그램의 로컬 기본 디렉토리 .에을 복사합니다 File. 예를 들어 GitBash를 사용하면 D : 드라이브 아래에 구성된 작업 폴더에 파일이 저장됩니다.


"Git Bash"로 GiT를 완전히 설치 한 사람은 다음과 같습니다.

scp login@ip_addres:/location/to/folders/file.tar .

(현재 위치로 복사하려면 끝에 공백과 DOT가 있음). 인증서 (y)를 추가하는 것보다 암호를 작성하면됩니다.


퍼티를 다운로드하고 설치 한 후 Hesham의 게시물 위와 같이 pscp를 사용해야했습니다. Windows의 Linux에서 Windows로 수행했기 때문에 다음을 입력했습니다.

c : \ ssl> pscp username @ linuxserver : keenan / ssl / *.

그러면 keenan / ssl 폴더의 모든 내용이 (c : \ ssl)에서이 명령을 수행 한 로컬 폴더 (.)로 복사됩니다. keenan / ssl은 사용자 이름 사용자의 홈 폴더를 지정합니다. 예를 들어 전체 경로는 / home / username / keenan / ssl입니다. 다음과 같이 슬래시 (/)를 사용하여 다른 폴더를 지정할 수 있습니다.

c : \ ssl> pscp username @ linuxserver : / home / username / keenan / ssl / *.

따라서 다음을 사용하여 Linux의 루트에있는 모든 폴더를 지정할 수 있습니다.

Keenan


c : / 또는 d : /가 Linux에서 완전히 잘못 되었기 때문에 코드가 작동하지 않습니다. / mnt / c 또는 / mnt / c를 사용하십시오.

로컬 windows10-ubuntu bash에서 다음 명령을 사용하십시오.

다운로드 : (원격 서버 폴더에서 d : / ubuntu로) :

scp username@ipaddress:/folder/file.txt /mnt/d/ubuntu

그런 다음 필요한 경우 원격 서버 암호를 입력합니다.

업로드 용 : (d : / ubuntu에서 원격 서버로) :

scp /mnt/d/ubuntu/file.txt username@ipaddress:/folder/file.txt 

그런 다음 필요한 경우 원격 서버 암호를 입력합니다. 참고 : 테스트했고 작동했습니다.


다음은 ssh에서 비밀번호없이 SCP를 사용하여 Linux에서 Windows로 파일을 복사하는 솔루션입니다.

  1. Linux 시스템에 sshpass를 설치하여 암호 프롬프트를 건너 뜁니다.

  2. 스크립트

    sshpass -p 'xxxxxxx' scp /home/user1/*.* testuser@x.x.x.x:/d/test/

세부:

sshpass -p 'password' scp /source_path/*.* windowsusername@windowsMachine_ip:/destination_drive/subfolder/

Windows에서 Linux 시스템으로 파일을 보내려면

scp 파일 경로 user @ ipaddress : / path-to-destination

예:

scp C:/Users/adarsh/Desktop/Document.txt root@127.0.0.1:/tmp

keep in mind that there need to use forward slash(/) inplace of backward slash(\) in for the file in windows path else it will show an error

C:UsersadarshDesktopDocument.txt: No such file or directory

. After executing scp command you will ask for password of root user in linux machine. There you GO...

To send a file from linux to windows system

scp -r user@ipaddress:/path-to-file path-to-destination

Example:

scp -r root@127.0.0.1:/tmp/Document.txt C:/Users/adarsh/Desktop/

and provide your linux password. only one you have to add in this command is -r. Thanks.


Open bash window. Preferably git bash. write

scp username@remote_ip:/directory_of_file/filename 'windows_location_you_want_to_store_the_file'

Example:

Suppose your username is jewel

your IP is 176.35.96.32

your remote file location is /usr/local/forme

your filename is logs.zip

and you want to store in your windows PC's D drive forme folder then the command will be

scp jewel@176.35.96.32:/usr/local/forme/logs.zip 'D:/forme'

**Keep the local file directory inside single quote.


As @Hesham Eraqi suggested, it worked for me in this way (transfering from Ubuntu to Windows (I tried to add a comment in that answer but because of reputation, I couldn't)):

pscp -v -r -P 53670 user@xxx.xxx.xxx.xxx:/data/genetic_map/sample/P2_283/* \\Desktop-mojbd3n\d\cc_01-1940_data\

where:

-v: show verbose messages.
-r: copy directories recursively.
-P: connect to specified port.
53670: the port number to connect the Ubuntu server.
\\Desktop-mojbd3n\d\genetic_map_data\: I needed to transfer to an external HDD, thus I had to give permissions of sharing to this device.


I know this is old but I was struggling with the same. I haven't found a way to change directories, but if you just want to work with the C drive, scp defaults to C. To scp from Ubuntu to Windows, I ended up having to use (notice the double back-slashes):

scp /local/file/path user@111.11.11.111:Users\\Anshul\\Desktop

Hope this helps someone.


Try this:

scp /home/ubuntu/myfile C:\users\Anshul\Desktop

If you want to copy paste files from Unix to Windows and Windows to Unix just use filezilla with port 22.

ReferenceURL : https://stackoverflow.com/questions/10235778/scp-from-linux-to-windows

반응형