저는 우분투 18.04를 사용하는 VPN에서 서버 그룹으로 작업하고 있으며 각 서버마다 다른 키 파일이 있습니다. 그러나 파일을 안전하게 복사하려고 하면(예: 서버 간에 munge 키를 안전하게 전파하는 것과 같이) 적절한 키가 없기 때문에 거부됩니다(적어도 이것이 이유라고 생각합니다. "권한 거부됨(공개 키)"가 반환됩니다. ).
각 서버에 개인 키를 보관하는 것은 아마도 나쁜 습관일까요? 내 로컬 컴퓨터에 파일을 복사한 다음 다른 서버에 복사하는 것은 힘든 일이며, 그것도 안전한지 확실하지 않습니다.
이것이 어떻게 적절하게 처리됩니까? 각 서버(예: munge)의 사용자를 사용하여 서버 간에 복사할 수 있습니까? 어떤 위치가 아닌 경우 나중에 sudo cp를 사용할 수 있는 일부 지정된 폴더에 복사할 수 있습니까? 취약점이 아닌 옵션이 있습니까?
답변1
SSH를 사용한 키 기반 인증(scp는 SSH의 파생물임)은 공개 키 암호화에 관한 문제입니다. 당신은 개인적으로 비밀로 유지하고 공개 키를 모든 사람에게 배포하는 개인 키를 가지고 있습니다.
따라서 귀하의 질문을 해결하기 위해 여러 개의 개인 키가 필요하지 않으며 필요하지도 않습니다. 하나만 있으면 충분합니다. 그런 다음 모든 서버에 공개 키를 업로드합니다. 개인 키의 백업을 안전한 곳에 보관하고 암호로 암호화해야 합니다.
둘째, 액세스 중인 서버에 개인 키를 저장하는 것은 공개 키 암호화 철학에 위배됩니다. 개인 키를 비밀로 유지하지 않습니다. 귀하의 개인 키는 안전하고 건전해야 하며 모든 사람에게 비밀로 유지되어야 합니다. 개인 키는 본인만 소유하고 다른 사람은 소유할 수 없습니다.
또한 여러 서버에서 동일한 사용자 이름과 공개 키를 사용하는 것이 좋습니다.
따라서 단일 개인 키를 안전하게 보관하고 액세스하려는 모든 서버에 공개 키를 배포하십시오. 이제 동일한 개인 키를 사용하여 모든 서버에 로그인할 수 있습니다!
답변2
서버 간에 데이터를 교환해야 하는 경우 를 참조하세요 scp -3 server1:path1 server2:path2
. 데이터를 전송하고 호스트를 중간에 사람으로 사용합니다(서버 간 직접 연결 없이).
각 서버 블록에 대한 옵션 세트를 .ssh/config
사용하여 파일을 구성할 수도 있습니다 .IdentityFile
Host server1
IdentityFile ~/.ssh/file1
Host server2
IdentityFile ~/.ssh/file2