SSH를 통해 원격 컴퓨터에 연결할 수 없지만 ping은 가능함 - VPNC

SSH를 통해 원격 컴퓨터에 연결할 수 없지만 ping은 가능함 - VPNC

VScode 원격 서버, SSH 및 VPNC에 대한 최근 질문에 대해 찾은 솔루션을 작성하고 게시하고 있습니다. 네, 시간을 많이 낭비했습니다. 여러분의 시간을 절약할 수 있기를 바랍니다.

질문

기본 ubuntu VPN 클라이언트 cisco 호환(vpnc)을 사용하려면 VPN 클라이언트를 변경해야 했습니다. VPN을 설정한 후 원격 SSH 시스템에 액세스할 수 없습니다. 그러나 컴퓨터에 ping을 보낼 수 있습니다.

답변1

디버깅한 후 ssh -v ...다음 오류가 발생했습니다.

expecting SSH2_MSG_KEX_ECDH_REPLY 

이 문제를 해결하려면(다른 링크), /etc/ssh/ssh_config다음 줄을 편집하기 전에:

#   MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160
MACs hmac-sha1

좋아요 이제 터미널을 통한 SSH가 제대로 작동합니다.

그 후 원격 컴퓨터를 통해 Vscode를 열려고 했지만 다음 오류가 발생했습니다.

Remote-SSH hangs on "Setting up SSH Host <remote> (details) Initializing VS Code Server"

기본적으로 무기한 정지되고 잠시 후 연결 시간 초과가 반환됩니다.

이 사이트의 모든 답변과 게시물을 살펴본 후 터미널을 보고 연결이 설정되는 것을 볼 수 있으므로 문제가 MTU와 관련된 것으로 의심됩니다. 또한 .vscode_server원격 시스템에서 삭제했으므로 호스트에서 원격으로 실행 파일을 업로드해야 한다는 것을 알고 있습니다.

MTU 문제를 확인하기 위해 다음 명령을 실행했습니다.

scp file_large user@host

결과? 명령을 실행하자마자 복제가 중지됩니다. MTU 문제는 이제 대부분 확인되었습니다.

MTU 문제 수정

사용 가능한 최대 MTU 크기를 테스트하기 위해 ping 명령을 사용하여 서버에 ping을 실행했습니다.

ping -M do -s 1500 remote_ip

명령이 반환되지 않을 때까지 MTU 크기(이 경우 1500)를 줄입니다.

 ping: local error: message too long, mtu=1500

MTU 크기(내 것은 1370)를 찾은 후 VPN 터널 이름의 MTU를 변경했습니다.

sudo ifconfig your_tunnel_name mtu 1370 up

그리고 scp 명령이 제대로 작동하는지 테스트했습니다. 불행하게도 이 명령은 영구적이지 않으므로 만들어야 합니다.영구적으로:

아래에 파일을 만듭니다./etc/network/if-up.d

그리고

#!/bin/sh

if [ "$IFACE" = "your_tunnel_name" ]; then
    sudo ifconfig your_tunnel_name mtu 1300
fi

참고: 파일을 실행 가능하게 만드세요.

이제 내 컴퓨터에 액세스할 수 있습니다!

관련 정보