PEM 파일의 권한이 너무 열려 있으면 SSH 연결이 거부될 수 있습니다. pem파일 권한을 600으로 설정해보세요. chmod 600 /path/to/your.pem
SSH가 제대로 작동하고 있는지 서버에서 확인하세요. sudo systemctl status sshd
SSH 설정 파일(/etc/ssh/sshd_config)을 열어서 원하는 설정이 제대로 적용되었는지 확인해보세요. 예를 들어, PasswordAuthentication이 no로 설정되어 있는지, PubkeyAuthentication이 yes로 설정되어 있는지 등을 확인해보세요.
다음 명령어를 사용하여 상세한 출력과 함께 SSH 연결을 시도해보세요. ssh -i /path/to/your.pem -v [email protected] 이 명령어는 연결 과정에서 무슨 일이 일어나는지 상세하게 출력해줍니다. -v를 두 번 또는 세 번 사용하면 더 자세한 정보를 볼 수 있습니다.
키파일 형식 문제로 발생할 수도 있으니, 키파일이 정상인지 확인하세요. Jenkins 서버에서 사용하는 키가 로컬 시스템에서 사용하는 키와 일치해야 합니다.
SELinux 설정이 문제를 일으킬 수도 있으므로, 일시적으로 비활성화해보거나 설정을 조정해보세요.
known_hosts 파일에 저장된 호스트 키는 해당 호스트와 연결할 때 사용하는 키입니다. SSH 서버의 호스트 키가 변경될 경우 known_hosts에 저장된 키와 일치하지 않게 되므로 사용자에게 경고가 표시됩니다. 이런 경우는 서버 재설치, IP 변경 등으로 인해 서버의 호스트 키가 변경된 경우 발생합니다.
질문에서는 known_hosts의 키와 일치하는 것으로 보이므로 이 부분은 문제가 없어 보입니다.
2. OpenVPN과 Handshaking
OpenVPN이 중간에서 트래픽을 처리하고 있다면, OpenVPN 설정이나 네트워크 구성에 문제가 있을 수 있습니다. 하지만 여기서 제시된 로그에서는 OpenVPN에 관한 내용이 없으므로, SSH 연결 과정에서의 문제를 먼저 살펴보는 것이 좋습니다.
3. Key Passphrase 문제
로그를 보면, comentoKey.pem 키의 passphrase가 잘못되었다는 메시지가 표시되고 있습니다.
Putty나 VSCode에서 접속할 때 사용하는 키와 현재 SSH로 사용하는 키가 동일한지 확인해야 합니다. 만약 다르다면 동일한 키를 사용하여 다시 시도해 보세요.
또한, 만약 키에 패스프레이즈가 설정되어 있다면 올바른 패스프레이즈를 입력해야 합니다. 만약 패스프레이즈를 잊었다면, 키를 다시 생성하거나 패스프레이즈를 제거해야 할 수 있습니다.
다음과 같이 조치할 수 있습니다.
1. Putty나 VSCode에서 사용하는 키와 SSH 연결에 사용하는 키가 동일한지 확인합니다.
2. 키에 설정된 패스프레이즈를 확인하거나 패스프레이즈를 재설정합니다.
3. 만약 위 조치로도 문제가 해결되지 않는다면, 서버의 /var/log/auth.log 또는 /var/log/secure 로그 파일을 확인하여 SSH 접속과 관련된 에러 메시지나 경고를 찾아볼 수 있습니다.
아래 몇가지 부분을 추가적으로 확인해 볼 수 있을 것 같습니다.
chmod 600 /path/to/your.pem
sudo systemctl status sshd
예를 들어, PasswordAuthentication이 no로 설정되어 있는지, PubkeyAuthentication이 yes로 설정되어 있는지 등을 확인해보세요.
ssh -i /path/to/your.pem -v [email protected]
이 명령어는 연결 과정에서 무슨 일이 일어나는지 상세하게 출력해줍니다.
-v를 두 번 또는 세 번 사용하면 더 자세한 정보를 볼 수 있습니다.
Jenkins 서버에서 사용하는 키가 로컬 시스템에서 사용하는 키와 일치해야 합니다.
그래도 해결이 안되시면 다시 문의주시면 확인해보겠습니다.