여기에서 다른 질문과 다양한 “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 : 해당 파일 또는 디렉토리 없음
- ~ /에 “고정”된 쉘
제안 사항이 있으십니까?
댓글
답변
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
로컬 및 원격 간 :
-
서비스의 파일을 로컬 디렉토리에 복사 :이 명령을 수행하려면 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
-
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 서버로 파일을 복사하는 솔루션
-
다음을 사용하여
sshd
가 서버에서 실행 중인지 확인합니다.ps aux | grep sshd
-
그렇지 않은 경우
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로 파일을 복사하는 솔루션
-
SSH를 실행하기위한 여러 클라이언트가 있습니다. 다음과 같은 Windows의 서버 :
-
위 서버 중 하나를 설치하고 포트 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
-
이러한 서버 비교 :
Bitvise SSH 서버
-
거의 네이티브
cmd
프롬프트,powershell
프롬프트, 자동 완성 -
고급 사용이 필요한 경우 사용자 지정을위한 추가 기능 제공
-
간단한 요구 사항에 대한 사용자 지정은 0입니다. 많은 시간을 보낸 후 2 분 이내에 시작했습니다.
MobaSSH
및OpenSSH
를 작동 시키려고합니다. -
scp를 사용하여 파일을 복사하려면 사용 :
scp ~/filename.md [email protected]:/C/Users/username/filename.md
-
개인용으로 무료, 전문 용으로 99 달러. 많은 기능과 뛰어난 통합으로 인해 가격은 그만한 가치가 있습니다.
MobaSSH :
-
는 Linux를 제공합니다.
ls
,cp
,find
등과 같은 간단한 Linux 명령이있는 Windows의 셸, 직장,MINGW64
-
cmd
및 iv id에 액세스 할 수 있습니다.cmd
또는powershell
-
> 유니 코드 지원이 좋지 않습니다. 인코딩이 올바르지 않습니다. 예를 들어
Python
인터프리터를 시작하려고하면 충돌이 발생합니다. ( https://stackoverflow.com/a/12834315/4752883 ) :chcp 65001
set PYTHONIOENCONDING=utf-8
다음 시작 Python 프롬프트 -
MobaSSH의 가장 큰 장점은 매우 간단한 사용자 인터페이스를 가지고 있다는 것입니다.
scp
및ssh
및 잘 통합되었습니다. 따라서 간단한 사용 사례에서도 작동합니다. -
Linux 클라이언트에서
MobaSSH
를 실행하는 Windows 서버로 파일을 복사하려면 :이는
MobaSSH
가 Cygwin을 기반으로하고 해당 드라이브가 동일한 방식으로 매핑되기 때문입니다.cygwin
– s 드라이브가 매핑됩니다.
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ , OpenSSHv6.7이 이미 설치되어 있습니다.
-
매우 버그가 많고 사용자 정의를 많이해야합니다.
-
명령 완성이 작동하지 않습니다.
-
터미널에서 커서를 이동할 때 공백이 남습니다.
-
Python이 작동하지 않습니다.
-
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/
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
플래그. 단일 파일 복사에는 필요하지 않습니다 ( 반복적으로 디렉토리를 복사하는 데 사용되는 ‘)