기록용으로 남깁니다..
sshpass 를 사용하지 않았던 경우에는 문제가 되지 않았던 부분이 sshpass 를 사용하면서 아무 오류 없이 ssh 접속이 안되는 문제가 발생하여 원인 조사 중에 삽질을 통해 허탈한 원인을 발견하게 되어 작성합니다.
ssh 를 처음 접속하게 되면 known_hosts 에 추가할 것인지 물어봅니다. 보통 yes 를 선택해서 추가하게 되고 이후로는 sshpass 로 비밀번호를 미리 입력해도 이상이 없습니다.
하지만, 이 과정이 없는 경우 sshpass 로 비밀번호를 미리 넘기게 되면 known_hosts 에 등록 여부를 묻는 화면이 나오지 않게 되어 접속이 되는 듯 하다가 안되는 상황을 겪게 됩니다.
물론 이런 문제를 겪지 않으려면 ssh 실행 옵션에 StrictHostKeyChecking=no 를 추가해주면 해결되는데 직접 입력하다보면 길어서 까먹게 되는 경우도 있습니다. 물론, 한번이라도 등록한 이후에는 이 옵션도 필요 없습니다.
-o StrictHostKeyChecking=no
장비를 신규로 추가하거나 기존 장비 교체시 발생할 수 있는 문제이더군요..
다른 분들은 삽질 줄이시길...
아무 의미없는 sshpass 사용 상태에서의 ssh -vvv 디버그 로그...
known_hosts 에 등록하려면 어떤 과정을 거쳐야하는지 기억만 했어도 도움이 되었을...
접속 안 되는 경우
debug3: put_host_port: [127.0.0.1]:12345
debug3: put_host_port: [localhost]:12345
debug3: hostkeys_foreach: reading file "/home/user/.ssh/known_hosts"
debug1: checking without port identifier
debug3: hostkeys_foreach: reading file "/home/user/.ssh/known_hosts"
접속되는 경우
debug3: put_host_port: [127.0.0.1]:22222
debug3: put_host_port: [localhost]:22222
debug3: hostkeys_foreach: reading file "/home/user/.ssh/known_hosts"
debug3: record_hostkey: found key type ECDSA in file /home/user/.ssh/known_hosts:184
debug3: load_hostkeys: loaded 1 keys from [localhost]:22222
debug1: Host '[localhost]:22222' is known and matches the ECDSA host key.
debug1: Found key in /home/user/.ssh/known_hosts:184
그 외 참고한 페이지...(거의 무관)
'IT > System Digging' 카테고리의 다른 글
[Windows 10][usb] 강제로 연결 끊기 (0) | 2022.07.26 |
---|---|
[wsl] wsl d 드라이브로 옮기고 계정 정상화하기 (3) | 2022.07.15 |
[linux] terminal 에서 커서가 보이지 않을 때 (0) | 2022.06.08 |
ext4 용 하드디스크 부팅시마다 일반 사용자 권한으로 자동 마운트시키기 (0) | 2022.04.14 |
[linux][bash] 터미널에서 입력한 글자가 보이지 않을 때 해결 방법 (0) | 2022.01.12 |