본문 바로가기
프로그램 개발(분석, 설계, 코딩, 배포)/100. 기타

using keyboard-interactive authentication" 원인과 해결 방법

by 3604 2025. 10. 2.
728x90
using keyboard-interactive authentication" 원인과 해결 방법
 
 
 
keyboard-interactive authentication failed solution
"using keyboard-interactive authentication" 메시지는 SSH 클라이언트가 서버에 연결할 때 키보드 대화형 인증(Keyboard-Interactive Authentication) 방식을 사용하고 있음을 나타냅니다. 이 메시지 자체는 오류가 아니지만, 자주 인증 실패와 함께 등장하며, 특히 다음과 같은 상황에서 발생합니다:

🔍 원인 분석

  1. 서버가 PasswordAuthentication 대신 KeyboardInteractive를 요구함
    • 많은 리눅스 배포판이나 보안 정책에서는 PasswordAuthentication no로 설정하고, 대신 ChallengeResponseAuthentication yes 또는 AuthenticationMethods publickey,keyboard-interactive로 설정되어 있음.
  2. 2단계 인증(2FA) 사용 중
    • 예: Duo, Google Authenticator 등의 PAM 모듈이 설치되어 있으면, 비밀번호 외에도 2차 인증(예: 푸시, OTP)을 요구함.
  3. SSH 클라이언트가 keyboard-interactive를 지원하지 않거나 자동로그인 실패
    • 일부 클라이언트(Cyberduck, WinSCP, VSCode 등)는 자동 로그인 시 keyboard-interactive를 제대로 처리하지 못함.
  4. 비밀번호 특수문자 문제
    • 일부 클라이언트는 keyboard-interactive 입력 시 특수문자를 제대로 처리하지 못하는 경우도 있음.

✅ 해결 방법

1. SSH 클라이언트 설정 확인

  • PuTTYOpenSSH에서는 keyboard-interactive를 자동으로 처리하지만, 자동 로그인 도구에서는 실패할 수 있음.
  • 예: WinSCP GUI에서는 로그인되지만 스크립트에서는 실패 → 비밀번호 수동 입력 또는 로그인 방식 변경 필요.

2. 서버 설정 확인 및 변경

  • /etc/ssh/sshd_config에서 다음 설정 확인:
bash
Copy
PasswordAuthentication yes
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive
  • 2FA 없이 비밀번호만으로 로그인하고 싶다면:
bash
Copy
PasswordAuthentication yes
ChallengeResponseAuthentication no
  • 변경 후:
bash
Copy
sudo systemctl restart sshd
⚠️ 단, 2FA를 비활성화하면 보안이 약화될 수 있음.

3. 2FA 사용 시 클라이언트 대응

  • Cyberduck, VSCode 등에서 2FA를 지원하지 않는 경우:
    • 공개키 인증 + 2FA 조합을 사용하려면, 클라이언트가 keyboard-interactive를 지원해야 함.
    • 자동 로그인은 불가능하며, 수동으로 OTP나 푸시를 입력해야 함.

4. 공개키 인증 우선 사용 권장

  • 보안과 편의성을 위해 공개키 인증을 사용하고, PasswordAuthentication no로 설정하는 것이 좋음.

🧪 예외 상황

  • Cisco 라우터 등 일부 장비에서는 AAA 설정 문제로 keyboard-interactive 인증이 실패할 수 있음.
  • root 계정으로의 접속이 막혀 있을 경우에도 동일한 메시지가 나타날 수 있음.

✅ 요약

Table
Copy
상황해결 방법
비밀번호만으로 로그인 실패 PasswordAuthentication yes로 설정
2FA 사용 중 클라이언트가 응답하지 않음 수동 입력 또는 클라이언트 변경
자동 로그인 실패 keyboard-interactive 지원 여부 확인
특수문자 비밀번호 실패 비밀번호 변경 또는 수동 입력

필요하다면 사용 중인 SSH 클라이언트 종류와 **서버 환경(예: Ubuntu, Cisco, 2FA 사용 여부)**을 알려주시면, 보다 구체적인 해결책을 드릴 수 있습니다.
Copy
Share
 
 
"ChallengeResponseAuthentication" 어디서 등록하지?
 
 
 
ChallengeResponseAuthentication registration method
ChallengeResponseAuthentication는 OpenSSH 서버 설정 파일(sshd_config)에 **직접 등록(수정)**하는 항목입니다.
즉, 별도의 '등록 명령'이나 '관리 콘솔'이 있는 것이 아니라, 서버의 설정 파일을 편집하여 yes 또는 no로 값을 바꾸면 됩니다.

✅ 설정 위치 및 방법

1. 설정 파일 경로

bash
Copy
/etc/ssh/sshd_config

2. 편집 방법

bash
Copy
sudo nano /etc/ssh/sshd_config

3. 찾아서 수정 또는 추가

bash
Copy
#ChallengeResponseAuthentication no
bash
Copy
ChallengeResponseAuthentication yes
주석(#)을 제거하고, yes로 변경하거나, 아예 새로 추가해도 됩니다.

4. 적용

bash
Copy
sudo systemctl restart sshd

⚠️ 참고 사항

  • 최신 Ubuntu(22.04+) 및 일부 리눅스에서는 ChallengeResponseAuthentication 대신
    KbdInteractiveAuthentication를 사용하도록 바뀌었습니다.
    따라서 KbdInteractiveAuthentication yes로 설정해야 할 수도 있습니다.
  • **2FA(Google Authenticator, Duo 등)**를 사용하려면 이 설정 외에도
    /etc/pam.d/sshd에 PAM 모듈을 추가해야 합니다.

✅ 요약

Table
Copy
항목위치설정 예시
ChallengeResponseAuthentication /etc/ssh/sshd_config ChallengeResponseAuthentication yes
최신 시스템 대체 키 동일 파일 KbdInteractiveAuthentication yes
적용 명령 터미널 sudo systemctl restart sshd

필요하다면 사용 중인 OS 버전을 알려주시면, 더 정확한 설정 키를 안내해드릴 수 있습니다.
Copy
Share
 
 
solaris11에서 "passwd -s" 명령어 실행하면 표시되는 내용 중 "AL"의미는?
 
 
 
Solaris 11 Password File AL Description
solaris 11에서
passwd -s <user> (또는 passwd -as)의 출력 둘째 칸에 보이는 AL
“Account Locked” – 관리자에 의해 수동으로 잠긴 계정
을 의미합니다. 즉,
usermod -L <user> 또는 passwd -l <user> 등으로 관리자가 의도적으로 계정을 lock 시켰음을 나타냅니다.
같은 위치에 나타나는 다른 코드들과 구분하면
  • LK – password locked (비밀번호 필드 자체가 *LK*, 만료·실패 등에 의한 lock)
  • AL – administratively locked (관리자가 명시적으로 lock)
  • PS – password set, 정상
  • NL – no password set, 비밀번호 없음
따라서 AL이 보이면 보안 정책이나 관리 조치로 해당 계정이 비활성화된 상태입니다.
해제하려면 usermod -U <user> 또는 passwd -u <user>를 사용하면 됩니다.
Copy
Share
 
 
계정을 풀려면 어떻게 해야 하나?
Edit
Copy
Share
 
Solaris 11에서 AL 상태(관리자에 의해 잠긴 계정)를 풀려면
계정을 unlock하는 명령을 실행하면 됩니다.

✅ 해제 방법 (root 권한 필요)

bash
Copy
# 방법 1: usermod 사용
usermod -U <username>

# 방법 2: passwd 사용
passwd -u <username>

🔍 확인

bash
Copy
passwd -s <username>
결과가
<username> PS …
로 바뀌면 정상 해제된 것입니다.

⚠️ 주의

  • 계정이 AL이 아니라 LK였다면 위 명령만으로는 안 풀릴 수 있습니다.
    그 경우 비밀번호 만료/실패 횟수 초과 등이 원인이므로
    passwd <username>
    새 비밀번호를 재설정해야 합니다.
  • root로 로그인하거나 sudo 권한이 있어야 실행 가능합니다.
728x90