알려진 호스트 파일(또는 sudo)에 대한 쓰기 액세스 없이 ssh를 시도할 때 알려진 호스트를 제거/무시하는 방법

알려진 호스트 파일(또는 sudo)에 대한 쓰기 액세스 없이 ssh를 시도할 때 알려진 호스트를 제거/무시하는 방법

저는 sudo를 사용하지 않고 다른 서버에 SSH로 접속하려는 사용자입니다. 그렇게 하면 호스트의 호스트 키와 IP 주소가 Known_hosts 파일에 따라 변경되었다고 불평합니다(실제로 변경되었습니다). 안타깝게도 Known_hosts 파일을 변경할 수 없으며 이 -o StrictHostKeyChecking=no옵션을 사용하면 비밀번호 인증이 비활성화됩니다.

답변1

known_hosts파일 을 변경할 수 없습니다.

복사할 수 있으므로 복사본을 변경할 수 있으면 ssh복사본을 사용하라고 지시하세요. 관련 옵션은 다음과 ssh_config같습니다.

GlobalKnownHostsFile
전역 호스트 키 데이터베이스에 사용할 하나 이상의 파일을 공백으로 구분하여 지정합니다. 기본값은 /etc/ssh/ssh_known_hosts, 입니다 /etc/ssh/ssh_known_hosts2.

UserKnownHostsFile
사용자 호스트 키 데이터베이스에 사용할 하나 이상의 파일을 공백으로 구분하여 지정합니다. 기본값은 ~/.ssh/known_hosts, 입니다 ~/.ssh/known_hosts2.

(원천)

하지만 기다려!당신은 말했다

옵션 을 사용하면 -o StrictHostKeyChecking=no비밀번호 인증이 비활성화됩니다.

비밀번호 인증을 비활성화하는 옵션은 아닌 것 같아요. 그것을 허용하지 않는 것은 새로운 서버입니다. 즉, 이 특정 서버에 실제로 연결할 수 있는 모든 접근 방식은 비밀번호 인증과 함께 작동하지 않습니다. 오래된 파일을 우회하거나 known_hosts수정하는 것은 중요하지 않습니다. 서버 자체는 비밀번호를 허용하지 않도록 구성되어 있습니다.

만약 당신이 그것이 확실하다면오른쪽그런 다음 서버 관리자에게 비밀번호를 허용해 달라고 요청하세요(또는 다른 인증 방법을 제공할 수도 있습니다). 로컬 관리자에게 known_hosts파일 업데이트를 요청하세요.

관련 정보