Ubuntu 설치 중 하나에서 SSH를 통해 서버에 연결할 수 없지만 다른 Ubuntu 설치 또는 Windows OS를 사용하는 경우 SSH 연결이 제대로 작동합니다.
Ubuntu 설치에 몇 가지 문제가 있어 정확한 문제를 찾으려고 노력 중입니다.
ssh/openssh-client/openssh- 재설치를 시도했습니다./ssh.
다음은 자세한 출력의 몇 줄입니다.
ssh username@MYSERVERADDRESS -v
debug1: Offering RSA public key: /home/user/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Authentication succeeded (publickey).
Authenticated to MYSERVER ([MYSERVERADDRESS]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: network
packet_write_wait: Connection to MYSERVERADDRESS port 22: Broken pipe
인터넷 검색을 통해 다양한 솔루션을 시도했지만 결코 작동하지 않았습니다. .ssh 디렉토리를 삭제하고 /etc/ssh/ssh_config를 삭제했습니다(기본값으로 자동으로 다시 생성되었습니다).
또 다른 정보는 다른 OS 및 동일한 네트워크를 사용하여 SSH를 통해 서버에 연결할 수 있으므로 문제가 서버 측에서 발생하지 않는다는 것입니다.
고쳐 쓰다:
방화벽이 비활성화되었습니다.
클라우드에 호스팅된 서버
Windows와 Linux를 부팅하는 3개의 다른 컴퓨터가 있습니다.
SSH는 Linux가 연결하는 데 문제가 있는 컴퓨터를 제외하고 모든 컴퓨터에서 완벽하게 작동하며 Windows를 사용하는 동일한 컴퓨터에서는 모든 것이 잘 작동합니다.
요점 4가 더 명확합니다. Linux와 Windows가 로드된(이중 부팅) 머신이 3대 있고, Linux를 실행할 때 SSH 문제가 있는 머신은 단 한 대뿐입니다.
제게 더 많은 데이터(서버 주소 및 사용자 이름 제외)가 필요한 경우 알려주시기 바랍니다.
답변1
나는 이 문제에 대한 해결책을 찾았습니다. (내 질문에 대답해서 죄송합니다.) 누구든지 이 문제가 발생하면 내가 찾은 솔루션을 사용할 수 있기 때문에 이 질문에 대답하고 있습니다.
실제로 문제는 서버 측과 클라이언트 측에 있습니다.
서버 측 문제는 /home/<user>/.ssh/known_hosts
두 운영 체제 모두 하드웨어 ID와 IP(고정 IP)가 동일하지만 키가 다르기 때문에 서버의 파일에 Ubuntu 설치에 대한 잘못된 항목이 있다는 것입니다.
그래서 내가 한 일은 다음과 같습니다.
ssh-keygen -f /home/<user>/.ssh/known_hosts -R ip.ip.ip.ip
제 경우에는 ip.ip.ip.ip가 내 네트워크의 고정 공용 IP입니다. ip.ip.ip.ip가 각각 변경될 서버 및 클라이언트 시스템에서 이 명령을 실행하십시오.
이 명령이 무엇을 하는지 모르겠습니다. (이 솔루션은 인터넷 검색/시행 착오를 통해 찾았습니다.)
클라이언트 컴퓨터의 Known_hosts 파일을 다른 클라이언트 컴퓨터나 운영 체제에 복사할 수도 있습니다.
죄송합니다. 제 영어 실력이 좋지 않습니다.
이 명령의 기능과 문제가 해결된 이유를 아는 사람이 있으면 알려주십시오. 감사해요.
빙고 해결!
답변2
서버가 잠겨 있나요? 뒤로 오세요!
다음과 같은 이유로 서버가 잠겼습니다.
- 호스트 키 확인 실패 오류
- SSH 구성 오류
- 구성 오류
- 방화벽 잠금
참고: 이는 Windows가 아닌 Unix|Linux에서 작동합니다.
시작하자.
상황에 따라 두 가지 옵션이 있습니다.
옵션 1: 터미널 접근(단말기 접근권을 회복할 수 있는 경우)
터미널 접근 옵션
시스템을 업데이트하세요:
sudo aptitude update && aptitude safe-upgrade -y
*또는 다음을 사용할 수 있습니다.
sudo apt-get update && apt-get upgrade -y
이제 깨진 SSH를 다시 설치하십시오.
sudo apt-get --install ssh -y
업데이트된 버전을 설치하게 됩니다!
수리하다호스트 키 확인 실패 오류메시지, 실행:
ssh-keygen -R hostname
.
SSH 액세스가 차단되었나요? 지금 복원하세요!
서버에 전혀 접근할 수 없는 경우수신 시간 초과SSH를 사용하여 연결을 시도할 때 다음과 같은 이유가 있습니다.방화벽 구성 오류, 포트 차단, 디스크 오류 또는 SSH 구성 오류, 호스트 키 확인 실패 오류 등당신은 사용할 것입니다디스크 설치옵션.
디스크 마운트 옵션(원격 서버)
당신이 시도했다고 가정원격 재시작, 원격 재설정, 원격 하드웨어 재설정웹 인터페이스를 통해 문제가 지속됩니다.
당신에게 물어보세요데이터 센터하나 줘KVM 콘솔방문하여 상자를 부팅하십시오.구조하다모델(1시간 무료로 이용 가능해요)
콘솔에서 액세스: 로그인:
*ubuntu@rescue#*
설치 디스크
mkdir tempDisk
mount --bind /dev/xvda2 /tempDisk
mount --bind /proc /tempDisk/proc
mount --bind /dev /tempDisk/dev
mount --bind /sys /tempDisk/sys
chroot /tempDisk
참고: 이제 루트이므로 프롬프트가 변경됩니다.
**root@your-host#**
문제를 조사하고 해결하십시오. 예를 들어 잠재적인 버그를 수정하기 위해 시스템을 업데이트합니다.
sudo apt-get update && apt-get upgrade -y
sudo apt-get --install ssh -y
고정시키다호스트 키 확인 실패 오류정보:
ssh-keygen -R hostname
완료되면 종료하고 DKM 콘솔 프롬프트로 돌아갑니다.
`**root@your-host#** exit `
구출된 은행
*ubuntu@rescue#*
동일한 KVM 콘솔을 통해 서버를 다시 시작합니다.
*ubuntu@rescue#* shutdown -r now
정상적으로 다시 로그인하면 됩니다.
로컬 액세스 옵션
당신이 가지고 있다면로컬 또는 랙 액세스, 디스크를 꺼내서 동일한 버전의 작동 중인 다른 Linux에 설치합니다. 예:
***mytech@hostname#***
mkdir tempDisk
mount --bind /dev/xvda2 /tempDisk
mount --bind /proc /tempDisk/proc
mount --bind /dev /tempDisk/dev
mount --bind /sys /tempDisk/sys
다음 명령을 사용하여 액세스를 다시 얻으십시오: chroot /tempDisk
참고: 이제 서버의 루트 디렉터리에 있으므로 프롬프트가 변경됩니다!
myServer@hostname#;
sudo apt-get update && apt-get upgrade -y
sudo apt-get --install ssh -y
고정시키다호스트 키 확인 실패 오류정보:
ssh-keygen -R hostname
종료 완료
`**myServer@hostname#** exit `
디스크를 제거하고 원래 서버에 다시 삽입한 다음그녀를 흥분하게 만들어!.
답변3
내 문제가 귀하의 문제와 정확히 동일한지는 확실하지 않지만 유사하므로 솔루션을 게시하겠습니다.
예비 정보
- Ubuntu 20.04와 Windows 10을 듀얼 부팅합니다.
- 내가 연결된 시스템이 동일한 로컬 네트워크에 있습니다.
- Ubuntu에서 서버에 연결할 수 없지만 Putty를 사용하여 Windows 10의 서버에 연결할 수 있습니다.
이제 해결책을 살펴보면 비교적 간단합니다.
그래서 Ubuntu에서 서버에 연결하려고 할 때 이 명령을 사용했지만 ssh USER@SERVER_NAME
작동하지 않아서 라우터에서 찾은 서버의 로컬 주소를 찾기로 결정했습니다. 그런 다음 이 명령을 시도했는데 ssh USER@SERVER_LOCAL_IP
작동했습니다.
이것이 누군가에게 도움이 되기를 바랍니다.