SFTP 파일에 연결하는 클라이언트 서버(네트워크 외부)가 있습니다. 지난 주까지는 Server1에서 제대로 작동했습니다. 최근에 우리는 애플리케이션을 Server2로 마이그레이션했습니다(서버 1과 2는 모두 Linux입니다).
이제 Server2에서 클라이언트 서버에 연결할 수 없습니다. SSH 키(비밀번호 없음)가 있고 해당 키가 표시됩니다 rsa_id_client.pub
. 이전 서버에서 새 서버로 키를 복사했지만 해당 키를 사용하여 인증할 수 없습니다.
이전 서버에서 새 서버로 키를 복사하기 위해 따라야 하는 특정 단계가 있습니까?
답변1
배경
나는 일반적으로 ssh-copy-id
SSH 키의 공개 부분을 서버에서 SSH/SFTP하려는 클라이언트로 복사하는 방법을 사용합니다. Server2에 파일을 복사할 때 파일에 대한 권한에 특별한 주의를 기울일 것입니다. 파일에 대한 권한도 중요합니다. 권한이 너무 공개되어 있으면 SSH에서 파일 사용을 거부할 수 있습니다.
$ ls -l ~/.ssh
-rw------- 1 sming staff 3326 Sep 24 2018 ssh_sm@id_rsa
-rw-r--r-- 1 sming staff 737 Sep 24 2018 ssh_sm@id_rsa.pub
ssh_sm@id_rsa
여기에 내 개인 키 파일( )과 해당 공개 키 파일( )이 있습니다 ssh_sm@id_rsa.pub
. Server1 또는 Server2에서 SSH를 사용하려면 SSH하려는 사용자의 디렉터리에 로컬 ssh_sm@id_rsa
파일을 배치 해야 합니다 .~/.ssh
원격 클라이언트에서 파일 내용을 ssh_sm@id_rsa.pub
클라이언트 서버의 사용자 파일에 복사하려고 합니다.~/.ssh/authorized_keys
파일의 권한도 600이어야 합니다.
힌트
이를 용이하게 하기 위해 저는 일반적으로 이 ssh-copy-id
도구를 사용하여 다음과 같이 파일 내용을 적절하게 관리합니다 ~/.ssh/authorized_keys
.
server2$ ssh-copy-id -i ~/.ssh/ssh_sm@id_rsa someuser@client1