문제:
- 직접 echo로 SSH 키 작성 시 개행 문자 손실
- "error in libcrypto" 오류 발생
- SSH 키 형식 손상
해결:
- ${{ secrets.DEPLOY_SSH_KEY }}를 base64 인코딩된 형식으로 저장
- CI에서 base64 -d로 디코딩하여 원본 키 복원
- UserKnownHostsFile /dev/null 추가 (known_hosts 자동 관리)
- 설정 검증 로깅 추가
사용자 조치 필요:
1. SSH 개인 키를 base64로 인코딩: `cat ~/.ssh/id_ed25519 | base64`
2. 결과를 DEPLOY_SSH_KEY secret에 저장
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -50,16 +50,19 @@ jobs:
|
||||
- name: Setup SSH key
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.DEPLOY_SSH_KEY }}" > ~/.ssh/deploy_key
|
||||
echo "${{ secrets.DEPLOY_SSH_KEY }}" | base64 -d > ~/.ssh/deploy_key
|
||||
chmod 600 ~/.ssh/deploy_key
|
||||
cat >> ~/.ssh/config << EOF
|
||||
cat >> ~/.ssh/config << 'EOF'
|
||||
Host deploy
|
||||
HostName ${{ secrets.DEPLOY_HOST }}
|
||||
User ${{ secrets.DEPLOY_USER }}
|
||||
IdentityFile ~/.ssh/deploy_key
|
||||
StrictHostKeyChecking no
|
||||
UserKnownHostsFile /dev/null
|
||||
EOF
|
||||
chmod 644 ~/.ssh/config
|
||||
echo "=== SSH Key Setup Complete ==="
|
||||
ls -la ~/.ssh/
|
||||
|
||||
- name: Deploy Web
|
||||
run: |
|
||||
|
||||
Reference in New Issue
Block a user