db문제가 있어서 sqlite3지우고 psql오류를 잡고있는데 갑자기 ssh가 끊기고, 재연결하려고 하니
이런 오류가 발생함
오류메시지를 해석하면
키교환 단계에서 문제가 발생하여, 원격서버가 연결을 강제로 끊음.
위와 같은 경우 여러 경우의 수가 있음
위와 같은 문제로 생각이 되었음
아래와 같은 사항을 확인함
-> 다른 모든 컴퓨터는 정상 접속, 핫스팟 이용시 맥북도 이용가능
기존 ip 사용시 모든 곳에 접속 불가
내 상황은 다음과 같음
이제 해결방법을 찾기 위해 어디서 끊겼는지 찾아봤음
flow는 다음과 같음
외부 클라이언트 - window공유기 - virtual box - ubuntu - nginx
이 중 어디서 막히는지를 확인해야했음
ssh 설정에서 방화벽을 꺼보고, 윈도우에서 방화벽을 꺼보고, 포트포워딩을 확인해보고, 공유기 재부팅을 해보는 등 계속 트러블슈팅을 하다가
몇가지 사항을 확인함
✘ youngjoo ~ curl -v https://api.xxx.
Host api.livflow.co.kr:443 was resolved.
IPv6: (none)
IPv4: 59.5.15.xxx
Trying 59.5.15.xxx...
Connected to api.livflow.co.kr (59.5.15.xxx) port 443
ALPN: curl offers h2,http/1.1
(304) (OUT), TLS handshake, Client hello (1):
CAfile: /etc/ssl/cert.pem
CApath: none
서버는 살아있고, 포트와 ip주소는 정상
그래서 가능성은 ip가 연속적으로 접근을 해서 공유기에서 접근을 제한했다고 가정을 했음
그래서 연결과정에 debug를 해본 결과
OpenSSH_9.7p1, LibreSSL 3.3.6
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/ matched no files
debug1: /etc/ssh/ssh_config line 54: Applying options for
debug2: resolve_canonicalize: hostname 59.5.15.xxx is address
debug3: expanded UserKnownHostsFile '/.ssh/known_hosts' -> '/Users/youngjoo/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '/.ssh/known_hosts2' -> '/Users/youngjoo/.ssh/known_hosts2'
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug3: channel_clear_timeouts: clearing
debug3: ssh_connect_direct: entering
debug1: Connecting to 59.5.15.xxx [59.5.15.xxx] port 2221.
debug3: set_sock_tos: set socket 3 IP_TOS 0x48
debug1: Connection established.
debug1: identity file /Users/youngjoo/Desktop/id_rsa_livflow.pem type -1
debug1: identity file /Users/youngjoo/Desktop/id_rsa_livflow.pem-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_9.7
서버에 연결은 됬지만 인증단계에서 문제가 발생한걸 확인할 수 있음
따라서 문제는
윈도우 공유기를 통과해서 다음 단계에서 문제가 발생했다는걸 알게됨
flow는 이렇게 되어있음
외부 클라이언트 - window공유기 - virtual box -|- ubuntu - nginx
우분투에 들어가기 직전이라는걸 확인함
실제로 저기서 막힌다면 흐름상 내 ip로 도메인과 ssh에 들어갈 수 없음
stack overflow에서는 정확히 이 오류에 대해
방화벽은 꺼두었으니 심각한 문제가 있어 연결이 끊겼다고 전제를 하고 문제를 풀기 시작했음
pem키는 등록되어있고, ssh log를 살펴보니 로그에 접속 오류가 안잡힘
즉, 우분투 서버에 들어와서 ssh에 도달하지 못했다는걸 파악함
그럼 제일 큰 가능성은 ssh에 문제가 있거나, ssh설정에서 내 ip에 대한 접근을 막고 있다고 판단했음
여기서 제일 걸리는건 내 ip만 접속이 안된다는 것.
그래서 설정에서 ip, 포트, pem, 권한 등등 모든 설정을 바꾸었지만 문제가 해결되지 않았음
그래서 ssh를 재설치 해본 결과
"""
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다... 완료
상태 정보를 읽는 중입니다... 완료
몇몇 패키지를 설치할 수 없습니다. 요청한 상황이 불가능할 수도 있고,
불안정 배포판을 사용해서 일부 필요한 패키지를 아직 만들지 않았거나,
아직 Incoming에서 나오지 않은 경우일 수도 있습니다.
이 상황을 해결하는데 다음 정보가 도움이 될 수도 있습니다:
다음 패키지의 의존성이 맞지 않습니다:
openssh-server : 의존: openssh-client (= 1:9.6p1-3ubuntu13.5) 하지만 1:9.6p1-3ubuntu13.7 패키지를 설치할 것입니다
의존: openssh-sftp-server 하지만 %s 패키지를 설치하지 않을 것입니다
추천: ncurses-term 하지만 %s 패키지를 설치하지 않을 것입니다
E: 문제를 바로잡을 수 없습니다. 망가진 고정 패키지가 있습니다.
"""
이유는 알 수 없으나 망가진 고정패키지가 발견됨
이 부분에 대해 검색을 해보아도 ssh가 아니라 다양한 부분에서 패키지의 의존성 문제가 발견되어서
그냥 새로 설치함.
그 뒤 다시 접속이되어 문제를 해결했음