2017-04-26 8 views
2

내 컴퓨터에서 Azure VM으로 일부 파일을 복사하려고합니다. 미리 Azure의 VM을 ssh 할 수 있다고 말하면서 기계를 만드는 동안 공개 키를 부여했습니다. 두 시스템 모두 Linux입니다. Azure의 VM으로 scp 할 수 없음

내가하려고하면 :

sudo scp /path/ca.crt [email protected]:~/

내가 출력에 나타납니다

Permission denied (publickey). lost connection

나는 (내 파일이 왜 루트 디렉토리에있는 루트 디렉토리를 가리키는 아니에요 sudo); 나는 잘못된 사용자를 지적하지 않는다. ssh를 통해 연결할 수 있다면 scp가 거부되어야하는 이유는 무엇입니까?

답변

3

scp/root/.ssh/ 대신의 /home/user/.ssh/의 ID 파일 id_rsa을 찾아 가고, 루트 파일에 액세스 할 수 sudo 사용.

sudo scp -i ~/.ssh/id_rsa /path/ca.crt [email protected]:/home/ubuntu/

나는이 다른 사람에게 도움이 될 수 있기를 바랍니다 : 나는 에게 scp 명령의 ID 파일 (하지 공개 키)를 지정해야하는 이유입니다.

건배.

+0

'scp'는 기본적으로'~/.ssh/id_rsa'를 사용합니다. 만약 당신이'-i'를 사용하지 않는다면 같은 결과가 나올 것이라고 생각합니다. 당신이 다른 무엇을 바꿀까요? –

+0

@ Walter-MSFT 더 이상은 없습니다. 'scp -v -v -v'를 사용하여 sudo를 사용하면'/ home/user/.ssh /'대신에'/ root/.ssh /'에있는 id_rsa 파일을 찾는다는 것을 눈치 챘습니다. 그래서 내가 올바른 경로를 지정해야합니다 (나에게 수치스런). – ale93p

+1

나는 이유를 알고, 아주 좋은 대답. 나는 당신이 당신의 대답에 그것을 더하는 것이 좋을 것이라고 생각합니다. –