
몇 시간 전에 Windows-PC와 Raspberry Pi의 IP 주소를 변경했습니다. 그때까지는 아무 문제 없이 SSH를 통해 Pi에 연결할 수 있었습니다. 이제 연결을 시도하면 누군가 "불쾌한 일"을 시도하고 있으며 네트워크 관리자에게 문의해야 한다는 오류 메시지가 나타납니다.
그래서 "알려진 호스트" 파일의 백업을 만들고 빈 파일을 만들었습니다. 이제 Windows 터미널을 통해 SSH를 통해 연결하면 다음과 같은 결과가 나타납니다.
나는 이것이 나에게 무엇을 말해야 하는지, 내가 무엇을 해야 하는지 전혀 모른다. 이미 Pi를 플래시했지만 아무 소용이 없습니다. 라우터 구성에서 내 PC나 Pi 또는 둘 다의 네트워크 구성을 재설정하더라도 오류 메시지는 동일하게 유지됩니다.
답변1
메시지
누군가가 "뭔가 불쾌한 일"을 시도하고 있어요
서버의 IP를 변경한 결과입니다.
이는 일반적으로 클라이언트의 사용자가 known_hosts
서버에 대한 정보를 가지고 있지만 저장된 정보의 일부가 서버를 식별하는 현재 연결 매개변수(예: 동일한 호스트 키를 사용하는 다른 IP 또는 그 반대)와 다를 때 나타납니다.
회색으로 표시된 호스트 이름은 호스트 이름이 아니라 IP 주소인 것 같습니다. 서버의 IP를 변경하면 메시지가 트리거되었습니다. 호스트 이름을 사용하면 이를 방지할 수 있습니다.
(IP 또는 호스트 이름을 사용하고 있는지 확인하는 것이 중요하므로 개인 정보 보호를 위해 정보를 제거하는 대신 정보를 대체하는 것이 좋습니다)
원본 known_hosts
파일을 제거하면 이 오류는 사라지고 known_hosts
.
=> 이것은 현재 로그인 문제의 일부가 아닙니다.
로그인 문제
디버그 로그는 다음을 알려줍니다.
- OpenSSH_for_Windows_8.1p1을 사용하는 Windows 클라이언트에 있습니다.
- 허용되는 인증 방법은 다음
publickey
과 같습니다.password
- 귀하의 클라이언트는 "공개 키 인증"(시도 중인 내용)을 통해 로그인하는 데 사용할 수 있는 여러 ID를 저장했지만
서버의 계정에는 사용 가능한 ID 중 하나 이상에 대한 펜던트가 없으며/root/.ssh/authorized_keys
5개 요청이 모두 실패했습니다. .
=> 이 인증 방법을 사용한 적이 없거나 Pi 서버를 다시 플래시하여 이미 존재하는 인증 방법을 제거하여/root/.ssh/authorized_keys
이 요청 방법을 사용할 가능성을 없앴습니다. - 공개 키 인증이 실패하면 SSH는"비밀번호 인증", 그러나 오류가 발생합니다.
read_passphrase: can't open /dev/tty: No such file or directory
=> 분명히"윈도우용 OpenSSH"로그인 대화 상자를 출력할 위치를 알고 있으며 허용된 세 번의 시도 후에 마침내 로그인이 실패합니다.
합산귀하의 질문에 대한 현재 정보는 다음과 같습니다.
치명적인 변경이 발생하기 전에 다음을 통해 연결했습니다.공개키 인증.
이유:클라이언트와 클라이언트에서 관련 설정을 변경하지 않았기 때문에비밀번호 인증실패하는 경우 이 문제는 치명적인 변경 이전에 이미 존재했을 것입니다. 그러나 문제를 인식하지 못했기 때문에 다른 가능한 인증이 사용되었을 것입니다.
/root/.ssh/authorized_keys
서버에서 원본이 손실되었기 때문에 서버는 다음을 통한 액세스를 승인할 수 없습니다.공개키 인증모든 로그인 시도가 실패합니다.
솔루션
- 비밀번호 인증 처리를 복구하세요.Windows용 OpenSSH.
SSH 연결을 시작하는 방법에 대한 정보를 제공하지 않았으므로 적절한 답변을 드릴 수 없습니다.
아마도 GUI 도구를 사용하여 연결할 수도 있습니다. 그런 다음 터미널 창을 열고 명령줄을 통해 세션을 시작하는 것만으로도 충분할 수 있습니다.
=> 이 특정 문제를 해결하려면 더 자세한 내용이 포함된 새 질문을 만들어야 합니다.
또는
root/.ssh/authorized_keys
서버에서 를 복원하거나 다시 만듭니다 .
키를 추가하려면authorized_keys
:- Windows 클라이언트에 있는(또는 새로 생성된) 키 쌍의 공개 키만
C:\Users\???\.ssh\
서버에 복사하세요. - 서버에서 사용자의 에 공개 키를 추가하십시오
authorized_keys
.
cat <public_key_file> >> ~/.ssh/authorized_keys
- 로그인 테스트
- Windows 클라이언트에 있는(또는 새로 생성된) 키 쌍의 공개 키만
변형 2의 경우: 서버의 로컬 콘솔에 물리적으로 액세스하는 데 어려움이 있는 경우 Live Linux를 다운로드하여 USB 스틱에 설치하고 공개 키를 다시 적용하기 위해 비밀번호 인증을 통해 서버에 연결할 수 있습니다.
참고:램하운드사용자를 사용하여 이미 언급했습니다.뿌리원격 연결은 나쁜 생각입니다. 일반 사용자를 선택하여 sudo
루트 권한을 얻는 것이 더 좋습니다.
답변2
문제를 발견했습니다. 당연히 그것은 내가 한 일이었습니다.
누군가가 "불쾌한 일"을 시도하고 있음을 알려주는 모든 "@" 기호가 포함된 오류 메시지는 매우 명확했으며 "known_hosts" 파일의 내용도 삭제되었습니다. 그러나 "루트"로 로그인하려고 시도하는 실수를 저질렀습니다. 실제로는 비활성화된 것 같습니다. 또한 첫 번째 부팅 절차 후에는 소문자 사용자 이름으로 로그인할 수 없다는 것을 방금 깨달았습니다.
사용자 "test"와 비밀번호 "test"로 로그인하면 작동하지 않았지만 사용자 "Test"와 비밀번호 "test"로 로그인했습니다.
그래서 새로운 것을 배운 것 같아요.