scp를 사용하여 로컬 디렉터리 X에서 원격 디렉터리 Y로 파일을 전송합니다.

여기에서 다른 질문과 다양한 “scp 사용”자습서를 살펴 보았습니다. 인터넷이지만 무엇이 문제인지 분류 할 수 없습니다.

저는 Linux Mint를 사용하고 있으며 scp 작동합니다.

파일 file.ext (내 컴퓨터) 디렉토리 / home / name / dir /

연결합니다. 다음과 같이 ssh 를 사용하는 원격 시스템 :

ssh -p 2222 username@domain 

비밀번호를 묻고 셸이 다음과 같이 표시됩니다.

username@domain ~ $ 

이제 명령을 실행하면 (ssh를 실행하기 전에는 로컬 디렉토리에있었습니다. / home / name / dir ) :

scp -r -P 2222 file.ext username@domain 

출력 is :

cp: cannot stat ‘file.ext’: No such file or directory 

file.ext 대신 전체 경로를 작성하면 동일한 결과가 발생합니다.

scp -r -P 2222 /home/name/dir/file.ext username@domain 

또한 서버 관리자가 파일을 원격 홈 디렉토리에 업로드하겠다고 말했습니다. (루트 대신) 다음과 같습니다.

scp -r -P 2222 file.ext username@domain:~/ 

하지만 쉘이 추가 입력을 기다리는 것처럼 “Enter”키를 누르면 아무 일도 일어나지 않습니다.

내 문제 요약 :

  • cp : 해당 파일 또는 디렉토리 없음
  • ~ /에 “고정”된 쉘

제안 사항이 있으십니까?

댓글

  • ‘ 문제가 잘못된 컴퓨터에있는 것과 관련이있을뿐입니다. 각 명령 앞에 실행중인 호스트를 붙일 수 있습니까? 예 : localuser@machineA: ssh -p 2222 username@domain (machineA에서 localuser로 ssh 명령을 실행하고 있음을 나타냄)
  • scp를 사용할 때 원격 쪽은 항상 콜론 (예 : remotehost:/tmp)을 포함해야합니다. 그렇지 않으면 일반 복사 (scp /tmp/foo.txt example.com/tmp/foo.txt를 로컬 파일로 복사합니다. example.com)
  • -r 플래그. 단일 파일 복사에는 필요하지 않습니다 ( 반복적으로 디렉토리를 복사하는 데 사용되는 ‘)
  • sshe 세션에서 scp 명령을 실행하고 있습니까? 로컬 컴퓨터를 사용하는 것이 좋습니다.

답변

scp 명령은 원격이 아닌 로컬 컴퓨터에서 수행됩니다. ssh는 전혀 필요하지 않습니다.

dragonmnl@local $ scp -P 2222 file.ext username@domain:~/ 

:

 -r Recursively copy entire directories. 

이미 원격 머신에 로그인되어 있고 로컬에서 복사하려면 다음을 수행해야합니다. 인터넷을 통해 로컬 컴퓨터에 액세스 할 수 있고 ssh가 설정되어 있는지 확인합니다. 나는 이것이 당신이 추구하는 것이라고 생각하지 않지만 만약 그렇다면 리모트에서 이것을 실행하십시오 :

username@domain $ scp dragonmnl@local:/path/to/file.ext ~/ 

Comments

  • 감사합니다. 문제는 ssh 세션 내에서 scp를 실행하는 것이 었습니다. 이제 작동합니다!

답변

원격 시스템과 로컬 시스템간에 파일을 업로드 / 다운로드하는 두 가지 방법을 제공합니다 (Mac air 사용) :

이 경우에는 11.jpeg 로컬 및 원격 간 :

  1. 서비스의 파일을 로컬 디렉토리에 복사 :이 명령을 수행하려면 ssh에있을 때가 아니라 로컬 bash 터미널에 있어야합니다!

    scp username@domain:/home/xxx/xxx/11.jpeg /Users/username/Desktop/ 

    로컬 디렉토리의 파일을 원격 서비스 : 또한 로컬 bash 터미널에 있어야합니다.

    scp /Users/username/Desktop/11.jpeg username@domain:/home/xxx/xxx 
  2. SSH에 로그인 할 때 같은 의도를 달성하려면 먼저 ” 시스템 환경 설정 > 공유 > 원격 로그인 > 모든 사용자 ( ” 모든 사용자 “에 대해 설정해야하지만이 상황에서 작동합니다.)”Mac이 알려줍니다. “이 컴퓨터에 원격으로 로그인하려면 다음을 입력하십시오.

    ssh username@xxxxxx, then type in the command below: scp username@domain:/home/xxx/xxx/11.jpeg username@xxxxxx:/Users/username/Desktop/** 

위의이 명령은 파일 다운로드 용입니다. ssh에 로그인 할 때 원격에서 로컬로 파일을 업로드 할 때 두 경로를 변경하십시오.

댓글

  • 마지막으로 Filezilla가 일상 업무에서 가장 편리 할 것입니다 ~~

답변

scp 명령 사용

폴더를 전송하려면 먼저 zip, 나중에 unzip 할 수 있습니다.

컴퓨터에서 다음을 실행하세요.

$ scp your_path_to_the_file/the_file [email protected]:~/ 

여기에서 root는 귀하의 계정이고 10.145.198.100는 원격 서버의 IP 주소입니다. the_file를 원격의 ~/ 폴더로 복사합니다.

파일 압축 해제 :

$ unzip the_zip_file.zip -d destination_folder 

댓글

  • root 원격 컴퓨터에 SSH 액세스 권한이 있습니까? ‘ 매우 안전하지 않습니다. 일반적인 사용을 사용하고 sudo 루트가 해당 컴퓨터에서 수행해야하는 작업을 수행하는 것이 좋습니다.

답변

원격 컴퓨터에서이 scp 명령을 실행하는 경우 “로컬”파일로 file.ext를 찾습니다. 즉 원격 시스템에서.

원격 시스템에서 로컬 시스템으로 파일을 복사하려면 scp -P 2222 username@domain:dir/file.ext localdir (예에서와 같이 file.ext가 원격 컴퓨터의 ~/dir에 있다고 가정) . 원격 시스템에서 scp를 실행하는 경우 “로컬”과 “원격”을 반대로하십시오.

댓글

  • OP가 로컬에서 원격으로 복사하기를 원합니다 . OP ‘ 제목을 확인하세요.
  • 죄송합니다. ‘ 맞습니다.하지만 그는 ‘ 분명히 그것을 거꾸로하고 있습니다 …

답변

작은 공헌으로 저와 같은 초보자에게 도움이 될 수 있습니다. 원격 디렉토리 경로는 다음과 같이 작성해야합니다. username@domain:~/remote_directory

여기서 강조하고 싶은 것은 항상 :~/

Answer

Linux 클라이언트에서 Linux 서버로 파일을 복사하는 솔루션

  1. 다음을 사용하여 sshd가 서버에서 실행 중인지 확인합니다. ps aux | grep sshd

  2. 그렇지 않은 경우 sudo apt-get install openssh-server openssh-client https://www.tecmint.com/install-openssh-server-in-linux/

를 설치합니다.

  • 서버를 다시 시작하고 iv id = “a75d35a29c”를 사용하여 sshd가 실행 중인지 확인합니다. >

  • 필요한 경우 /etc/ssh/sshd_config 파일을 구성 할 수 있지만 단순한 구성에는 필요하지 않습니다.

  • e 포트는 netcat를 사용하여 열립니다. nc -v -z 127.0.0.1 22

  • Linux 클라이언트에서 Linux 클라이언트는 다음과 같이 scp를 사용합니다. scp ~/filename.md [email protected]:~/folder/filename.md

  • 파일이 복사되었는지 확인하려면 ssh [email protected]를 사용하고 비밀번호를 입력하세요.

  • Linux 클라이언트에서 Windows로 파일을 복사하는 솔루션

    1. SSH를 실행하기위한 여러 클라이언트가 있습니다. 다음과 같은 Windows의 서버 :

    2. 위 서버 중 하나를 설치하고 포트 22가 열려 있는지 확인합니다.

      netsh advfirewall firewall add rule name="SSH Port 22" dir=in action=allow protocol=UDP localport=22 netsh advfirewall firewall add rule name="SSH Port 22" dir=out action=allow protocol=UDP localport=22 
      netsh advfirewall firewall add rule name="SSH Port 22" dir=in action=allow protocol=TCP localport=22 netsh advfirewall firewall add rule name="SSH Port 22" dir=out action=allow protocol=TCP localport=22 
      netsh advfirewall set allprofiles state off 
    3. 이러한 서버 비교 :

      Bitvise SSH 서버

      1. 거의 네이티브 cmd 프롬프트, powershell 프롬프트, 자동 완성

      2. 고급 사용이 필요한 경우 사용자 지정을위한 추가 기능 제공

      3. 간단한 요구 사항에 대한 사용자 지정은 0입니다. 많은 시간을 보낸 후 2 분 이내에 시작했습니다. MobaSSHOpenSSH를 작동 시키려고합니다.

      4. scp를 사용하여 파일을 복사하려면 사용 : scp ~/filename.md [email protected]:/C/Users/username/filename.md

      5. 개인용으로 무료, 전문 용으로 99 달러. 많은 기능과 뛰어난 통합으로 인해 가격은 그만한 가치가 있습니다.

      MobaSSH :

      1. 는 Linux를 제공합니다. ls, cp, find 등과 같은 간단한 Linux 명령이있는 Windows의 셸, 직장, MINGW64

      2. cmd 및 iv id에 액세스 할 수 있습니다. cmd 또는 powershell

      3. > 유니 코드 지원이 좋지 않습니다. 인코딩이 올바르지 않습니다. 예를 들어 Python 인터프리터를 시작하려고하면 충돌이 발생합니다. ( https://stackoverflow.com/a/12834315/4752883 ) : chcp 65001 set PYTHONIOENCONDING=utf-8 다음 시작 Python 프롬프트

      4. MobaSSH의 가장 큰 장점은 매우 간단한 사용자 인터페이스를 가지고 있다는 것입니다. scpssh 및 잘 통합되었습니다. 따라서 간단한 사용 사례에서도 작동합니다.

      5. Linux 클라이언트에서 MobaSSH를 실행하는 Windows 서버로 파일을 복사하려면 :

        이는 MobaSSH가 Cygwin을 기반으로하고 해당 드라이브가 동일한 방식으로 매핑되기 때문입니다. cygwin– s 드라이브가 매핑됩니다.

      https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ , OpenSSHv6.7이 이미 설치되어 있습니다.

      1. 매우 버그가 많고 사용자 정의를 많이해야합니다.

      2. 명령 완성이 작동하지 않습니다.

      3. 터미널에서 커서를 이동할 때 공백이 남습니다.

      4. Python이 작동하지 않습니다.

      5. OpenSSH의 최신 버전이 개선되었을 수 있습니다. 또한 MS는 선택적 기능 ” https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/

    답변

    OSX를 사용하는 경우 …

    username @ local : / file_directory로 실행하려고 할 때 …

    다음 오류가 발생했습니다.

    ssh: local: node name or service name not known 

    솔루션

    Mac에서 로컬 ssh를 설정하려면 다음을 수행해야했습니다.

    시스템 환경 설정-> 인터넷 & 네트워킹-> 공유-> 사용 원격 로그인

    그러면 사용자 이름 @ip 주소가 제공되었습니다.

    답변

    오늘 MAC에서도 이와 동일한 문제가 발생했습니다.

    다음 명령을 입력하십시오.

    scp /local-file-path/ /-remote-location-path/ 

    답글 남기기

    이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다