로컬 컴퓨터에서 원격 EC2 인스턴스로 파일을 전송하는 옵션 scp
과 함께 명령을 사용하려고했습니다 -i
.
Akhis-Macbook-Pro:~ aswinakhilesh$ sudo scp -i Mykey.pem FileA ec2-user@ec2-23-20-46-45.compute-1.amazonaws.com:/home/FileA
파일을 복사하는 대신 다음 메시지가 나타납니다.
Agent pid 2624
Akhis-Macbook-Pro:~ aswinakhilesh$ Identity added:
/home/.ssh/id_rsa (/home/id_rsa)
.ssh
EC2 인스턴스의 내 폴더에는 다음 파일이 있습니다.
authorized_keys
id_rsa [Same as Mykey.pm, which is used with the -i option before]
known_hosts
누군가 나를 도와 줄 수 있다면 좋을 것입니다!
답변
.bashrc에 무엇입니까?
sshd는 scp와 연결할 때 홈 디렉토리에서 .bashrc를 제공합니다. eval
해당 파일에`ssh-agent` 와 같은 것이있는 것 같습니다 .
.bashrc가 소스로 제공 될 때 STDOUT에 무엇이든 보내면 scp (및 다른 프로그램)에 문제가 발생할 수 있습니다. 처리하는 방법에는 몇 가지가 있지만 가장 쉬운 방법은 다음과 같습니다.
eval
`ssh-agent`> / dev / null
또한 $ PS1이 대화 형 쉘인지 확인한 다음 조건문을 사용하도록 설정되어 있는지 테스트 할 수 있습니다.
답변
나를 위해 당신의 대상 경로가 적어도 일반 사용자가 직접 쓸 수있는 권리가 안하지 못했습니다처럼 보이는 /home
, 그러나 이것은 거부 권한을 초래할해야 scp
명령을 여전히 사용할 수 있습니다
대신에:
ec2-user@ec2-23-20-46-45.compute-1.amazonaws.com:/home/FileA
다음과 같은:
ec2-user@ec2-23-20-46-45.compute-1.amazonaws.com:~/
답변
방금이 같은 문제가 발생했습니다. 해결책은 누군가 지적한 것입니다.
eval`ssh-agent`
로 변경
eval`ssh-agent '> / dev / null
그러나 중요한 것은 이것이 REMOTE 호스트 에서 발생해야한다는 것입니다 .