-
[Github Actions] attempted methods [none password]🩸 삽질의 추억 2025. 5. 27. 05:47728x90
님 ssh 비밀번호에 '$' 가 포함되어 있지 않은지?????????????
상황:
- github actions 사용
- workflow 내용은 다음과 같음
- name: Deploy uses: appleboy/ssh-action@master with: host: ${{ env.SSH_HOST }} username: ${{ env.SSH_USER }} password: ${{ env.SSH_PASSWORD }} script: | ...
ssh: handshake failed: ssh: unable to authenticate, attempted methods [none password], no supported methods remain 에러 발생
포인트
- 개발 서버는 문제 없이 접속 되었는데 운영 서버 접속 시에만 이런 에러가 발생함.
- PasswordAuthentication yes 로 설정되어있음
- 방화벽 문제 XXXXX
- secrets. 가 아닌 env.
문제 원인:
ssh password 값에 $이 존재한 것이 문제였다.
예를 들어 비밀번호가 ssh 접속을 위한 비밀번호가 abc1$2defghIj 라고 하자.
github actions는 echo로 환경변수를 설정할 때, shell이 $을 변수 참조 기호로 해석한다.
1. 따라서 비밀번호 abc1$2defghIj 에서 $2 를 "2라는 환경변수" 로 인식한다.
2. 그리고 (당연히 나는 2라는 환경변수를 설정하지 않았으니) 정의되지 않은 환경변수는 빈 문자열로 치환한다.
3. 결과적으로 abc1$2defghIj 에서 $2가 사라진 abc1defghIj 가 환경변수에 기록된다.
4. ssh 접속을 위한 password로 잘못된 값인 abc1defghIj 이 사용된다.
빨리 해결하고 딴거해야해서 비번 $말고 딴걸로 바꿈
728x90'🩸 삽질의 추억' 카테고리의 다른 글