![scp가 파일을 호스트로 성공적으로 전송했지만 파일이 표시되지 않습니다.](https://linux55.com/image/132521/scp%EA%B0%80%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%ED%98%B8%EC%8A%A4%ED%8A%B8%EB%A1%9C%20%EC%84%B1%EA%B3%B5%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EC%A0%84%EC%86%A1%ED%96%88%EC%A7%80%EB%A7%8C%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%ED%91%9C%EC%8B%9C%EB%90%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
로컬 컴퓨터에서 원격 컴퓨터로 파일을 전송하려고 합니다.
scp
옵션 없이 사용 하면 -v
다음과 같은 결과가 출력됩니다.
.--. or '\033[0;1;33;93m.-\033[0;1;32;92m-.\033[0m'
scp
옵션을 사용 하려고 하면 -v
다음과 같은 결과가 나오며 파일이 성공적으로 전송된 것 같습니다.
--
$ scp -v file.sh user@IP:/home/user/foo
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: network
debug1: Sending environment.
debug1: Sending env LC_PAPER = tr_TR.UTF-8
debug1: Sending env LC_ADDRESS = tr_TR.UTF-8
debug1: Sending env LC_MONETARY = tr_TR.UTF-8
debug1: Sending env LC_NUMERIC = tr_TR.UTF-8
debug1: Sending env LC_ALL = en_US.UTF-8
debug1: Sending env LC_TELEPHONE = tr_TR.UTF-8
debug1: Sending env LC_IDENTIFICATION = tr_TR.UTF-8
debug1: Sending env LANG = en_US.UTF-8
debug1: Sending env LC_MEASUREMENT = tr_TR.UTF-8
debug1: Sending env LC_CTYPE = UTF-8
debug1: Sending env LC_TIME = tr_TR.UTF-8
debug1: Sending env LC_NAME = tr_TR.UTF-8
debug1: Sending command: scp -v -t /home/user/foo
.--.
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 2504, received 2668 bytes, in 1.7 seconds
Bytes per second: sent 1510.2, received 1609.1
debug1: Exit status 0
sshd_config
문서 보기여기. ssh
원격 머신에 들어갈 수 있으니 참고하세요 . 또한 ssh user@IP pwd
반환되었습니다 /home/user
.
[묻다] scp
파일이 성공적으로 전송되었지만 원격 컴퓨터에 표시되지 않습니다. 이 문제의 원인은 무엇이며 어떻게 해결할 수 있습니까?
답변1
터미널에 데이터를 에코하는 시작 스크립트가 셸에 없는지 확인하세요. 이는 .bashrc
또는.profile
scp가 원격 호스트에 연결되면 SSH 서버 헤더와 그 뒤에 공개 표준 입력 스트림이 표시될 것으로 예상합니다.
원격 호스트의 .profile이 출력을 에코하면 scp가 자동으로 실패하게 됩니다. 이런 경우, tty 장치를 제어하지 않으면 아무 것도 인쇄되지 않도록 이를 제거하거나 보호 조건을 설정해야 할 수도 있습니다. 명령을 참조하세요 tty
.
답변2
저는 보통 호스트 이름(IP가 아닌 DNS 이름)을 사용합니다. 다음을 시도해 보십시오:
scp -rv file.sh dest@host@DNS:/home/user/foo/
답변3
원격 컴퓨터에서 어떤 운영 체제와 파일 시스템이 실행되고 있습니까? 복사하기 전의 파일 속성은 무엇입니까? 누구나 읽을 수 있나요?
추가 문제 해결 단계로 원격 컴퓨터에서 로컬 컴퓨터로 파일을 복사하되 다른 이름을 지정해 보세요.
scp user@IP:/remote/machine/remoteFile /local/machine/remoteFileRenamed