scp
암호를 묻지 않고 한 상자에서 다른 상자로 가는 가장 좋은 방법은 무엇입니까 ?
두 개의 서버가 있습니다 :
-
서버 A (10.152.2.10) :
/home/oracle/export/files.txt
-
서버 B (10.152.2.11) :
/home/oracle/import/
scp
비밀번호를 입력하라는 메시지가 표시되지 않고 서버 A에서 서버 B로 파일을 전송하려면
[서버 A에서 이것을 실행 /home/oracle/export/
]
scp files.txt oracle@10.152.2.11:/home/oracle/import
명령을 입력하면 암호를 묻는 메시지가 나타납니다.
키겐이 생성되어 서버 A에 복사되어야한다는 것을 이해합니다. 따라서 [서버 A에서] :
ssh-keygen -t rsa
이렇게하면 두 개의 파일이 저장됩니다 /home/oracle/.ssh
.
id_rsa
id_rsa.pub
1. 두 파일 ( id_rsa
, id_rsa.pub
)을 서버 B 에 복사해야 /home/oracle/.ssh
합니까?
이것에 대한 Google 검색을 수행하는 동안 authorized_keys에 이것을 추가 / 연결하는 방법에 대해 언급했습니다.
2.이 파일을 직접 만들어야합니까?
나는 이것을하는 올바른 방법에 대해 혼란스러워하는 것 같습니다.
Btw, 두 서버는 Suse Linux Enterprise Edition 9를 실행 중입니다 …
답변
- 아니, 당신은 당신
id_rsa
자신 을 유지 합니다; 그러나id_rsa.pub
공개 키인을 액세스하려는 서버로 복사 할 수 있습니다. 의 끝에 연결하십시오~/.ssh/authorized_keys
. - 예,
~/.ssh/authorized_keys
아직 작성하지 않은 경우 작성할 수 있습니다 . 그렇지 않으면을 사용하여 파일 끝에 추가하십시오cat id_rsa.pub >>~/.ssh/authorized_keys
.
답변
또한라는 모든 것을 정렬하는 도구가 있습니다 ssh-copy-id
.
authorized_keys
파일에서 실행중인 키가 있으면 에이전트에 키를 추가 하고 올바른 권한이없는 경우 키를 만듭니다. 에이전트를 실행하지 않는 경우 다음으로 푸시 할 키를 지정할 수 있습니다 -i
.ssh-copy-id -i ~/.ssh/id_rsa
답변
또한 다양한 파일 및 디렉토리에 대한 권한을 확인해야합니다.
authorized_keys needs perms of 600 (chmod 600 authorized_keys)
the .ssh directory should be 700
your home directory should be at most 744
귀하 이외의 다른 사람이 귀하의 홈 디렉토리를 쓸 수 없어야합니다.
답변
ssh-keygen
암호가 덜 전송되어 생성 된 키를 구성한 경우 전송이 작동하지 않으면 다음과 같이 상세 모드 명령으로 소스 시스템에서 사용 된 공개 키를 확인하십시오.
sftp -v -oPort=22 userid@server
일반적으로을 /home/<user>/.ssh/id_rsa.pub
사용하여 생성 한 공개 키와 다를 수있는 공개 키를 나타냅니다 ssh-keygen
. id_rsa.pub
대상 서버에서 이것을 추가해야 합니다.
답변
나는 다음을 할 것이다 :
클라이언트에서 :
ssh-keygen -t rsa
ssh-copy-id oracle@10.152.2.11
클라이언트에서 서버로 키를 복사합니다. 링에 키를 추가하려면 서버의 비밀번호가 필요합니다.
- 비밀번호 인증이 켜져 있거나 키 파일을 서버로 직접 전달해야합니다.
서버에서 :
최소한 비밀번호 인증을 끄십시오.