키 파일을 매개 변수로 사용하여 가능한 경우 어떻게 할 수 있습니까? 매개 변수로 파일없이

scp -i ~/.ssh/id_rsa.pub events*$date*_QA.log $remote_user@$remote_server:$remote_location

위에서 언급 한 스크립트가 올바르지 않습니까? 내가 제대로하지 않습니까?

.ssh디렉토리로 가서 원격 서버가 known_hosts파일 에 있음을 알았습니다 .

그러나 매개 변수로 파일없이 일반 scp를 수행 할 때 여전히 암호를 요구합니다.

scp events*$date*_QA.log $remote_user@$remote_server:$remote_location

명령에 키 파일을 어떻게 포함시킬 수 있습니까?

sh-3.2$ grep server ~/.ssh/*
/home/user/.ssh/known_hosts:server....com,ip_addr ssh-rsa Asine=jhjsdhfjsadhfjkashdfjhasdjfhksadjfhasjdfhj



답변

 -i identity_file
         Selects the file from which the identity (private key) for public
         key authentication is read.  This option is directly passed to
         ssh(1).

사용하십시오 ~/.ssh/id_rsa.


답변

이것은 또 다른 멍청한 놈을 도울 수 있습니다.

[이것은 중복 된 순환 예이지만 설명하기에 좋습니다] 시나리오 :

  1. Mac에서 ssh-> 우분투
  2. 맥에서 scp 파일-> 우분투
  3. 우분투-> Mac에서 ssh 및 scp 파일을 닫습니다.

나는 내 Mac에서 ssh 키를 만들었고 (ssh-keygen을 통해) 우분투를 실행하는 컴퓨터 (ssh-copy-id)를 통해 공유했습니다. 그래서 우분투를 실행하는 컴퓨터에서 Mac에 로그인 한 상태에서 파일을 복사 할 수 있었지만 다른 방법으로는 할 수 없었습니다.

솔루션 : Ubuntu Machine에서 ssh 키를 만들어 내 Mac과 공유해야했습니다. 그런 다음 우분투 머신에서 다음 명령을 성공적으로 실행할 수 있습니다

Mac IP: 192.168.1.40
Ubuntu IP: 192.168.1.38

Mac에서

ssh-keygen
ssh-copy-id ubuntu@192.168.1.38

ssh ubuntu@192.168.1.38

# Now on Ubuntu
ssh-keygen
ssh-copy-id MAC@192.168.1.40

이제 다음 명령은 암호를 묻지 않고 파일을 MAC에 복사해야합니다.

sudo scp -i /home/ubuntu/.ssh/id_rsa MAC@192.168.1.40:~/Documents/Fluff/Version-Control/tools/pull.sh .


답변

다음 지침을 통해 테스트하고 수정했습니다 :
https://askubuntu.com/questions/46930/how-can-i-set-up-password-less-ssh-login

상자 (CentOS / CentOS)에서 테스트했을 때의 지침은 완벽하게 작동했습니다. 문제는 ssh 키가 사용자 이름에 묶여 있지 않다고 생각합니다.

예 : 나는 / scpin ‘를 sshing있어 상자에 고양이의 authorized_keys #하는 SSH를-RSA BLAHBLAHBLAHBLAH / zAcS4kD9pyPAjD3 / gd5D1rcQa6IztCMR9yMXiGFnxviWsT8 / oYevZw25k4yREuA8ibLKC9peH1X4LK1E + n7gq4TETexWkZbQ2XGLOX44eglra3MB4FShPg0cZXGcJWltPQ / y0Ay2A / KmaC14YrDfqwm7 + ibTiUp4hOO8I6eIPmwwGn / 2hs0SewJXisGqUx2v my_user@machine.local #username 키에 연결하고 있습니다 승인 된 호스트


답변