제목
[Troubleshooting, Home Server] (LG U+)SSH 서버-클라이언트 연결 실패
관련게시글
[Home Server] USB로 우분투 설치, 인터넷 연결, SSH 설정, 공유기 설정
[Home Server] SSH 서버-클라이언트 연결, 도커 설치
[Troubleshooting, Home Server] (LG U+)SSH 서버-클라이언트 연결 실패
[Troubleshooting, Docker] invalid referencd format, unexpected EOF
목차
- 오류 상황
- 오류 내용
- 해결책(서버, 클라이언트, 공개키, 공유기, 재부팅)
- 문제 해결
1. 오류 상황
홈서버 세팅에 대한 게시글을 보완하기 위해,
서버 PC를 포맷했습니다.
이후 OS 설치, LG U+ 공유기 UI를 활용한 포트포워딩, IP 할당을 진행했습니다.
동일한 설정을 하였지만, ssh 접근이 불가능했습니다.
2. 오류 내용
ssh: connect to host xxx.xxx.xxx.xxx port 2235: Connection timed out
3. 해결책
서버를 포맷하고 재설정하면서,
서버, 클라이언트, 공유기 설정에서 놓친 것이 있는지 확인합니다.
변경사항을 적용하기 위해 클라이언트, 서버, 공유기를 재부팅합니다.
3.1 서버 확인
서버의 설정을 확인하여 문제를 찾습니다.
3.1.1 port Listen 확인
아래 명령어를 사용하여, 연결을 시도하는 port가 Listen인지 확인합니다.
(ssh 기본값이 22이기 때문에 22를 입력했습니다)
sudo netstat -tuln | grep 22
3.1.2 ssh 포트 확인
먼저 포트 설정이 올바른지 확인합니다.
아래 경로의 파일에 기재된 Port로 연결을 시도한 것이 맞는지 확인합니다.
/etc/ssh/sshd_config
기본적으로 ssh 연결은 22 port지만, 위 파일에서 다르게 설정할 수 있습니다.
만약 다르게 설정한다면 아래와 같이 -p 옵션을 추가하여 연결합니다.
ssh -p 23456 username@xxx.xxx.xxx.xxx
3.1.3 ssh 동작 확인
ssh가 동작하지 않을 수 있습니다.
아래 명령어를 통해 동작 여부를 확인합니다.
sudo systemctl status ssh
+ 추가적으로 서버 재부팅 시 ssh가 켜지는지 확인합니다.
sudo systemctl is-enabled ssh
자동으로 실행되지 않는다면, 아래 명령어를 통해 자동으로 실행되도록 설정합니다.
sudo systemctl enable ssh
3.1.4 ufw 확인
방화벽 설정을 확인합니다.
ssh연결에 사용하는 포트가 열려있어야 합니다.
sudo ufw allow 22/tcp
sudo ufw enable
(port를 변경하지 않았다면 22를 허용합니다)
3.1.5 인터넷 연결확인
인터넷 연결이 되어있지 않으면, 외부에서 접근이 불가능할 수 있습니다.
ifconfig 명령어를 사용하여 네트워크 인터페이스 정보를 확인합니다.
만약 ifconfig 명령어를 실행할 수 없다면, net-tools를 설치합니다.
sudo apt-get update
sudo apt-get install net-tools
ifconifg
3.2 클라이언트 확인
클라이언트의 문제를 확인합니다.
3.2.1 Host 주소 확인
ssh 연결 시 사용하는 host 주소를 확인합니다.
호스트가 사용하는 외부 ip 와 일치하는 지 확인합니다.
3.3 클라이언트 - 서버
3.3.1 공개키 일치 여부 확인
서버와의 연결이 처음인 경우 ssh 키가 존재하지 않아도 연결 가능할 수 있지만,
ssh 키를 통해 연결하려는 경우 확인이 필요합니다.
서버에서 아래 경로에 존재하는 공개키와
~/.ssh/authorized_keys
클라이언트의 공개키가 일치하는지 확인합니다.
~/.ssh/id_ed25519.pub
3.4 (LG U+)공유기 확인
의외로 공유기에 문제가 있을 수 있습니다.
3.4.1 IP 할당 확인
서버 IP를 고정 할당하는지 확인합니다.
3.4.2 포트포워딩 확인
포트포워딩 시, 포트와 IP 설정이 올바른지 확인합니다.
3.5 재부팅
문제가 발견되지 않음에도 불구하고 해결되지 않을 경우,
재부팅이 필요할 수 있습니다.
4. 문제 해결
저는 공유기 부분에서 문제를 해결했습니다.
포트포워딩에 문제가 없었으나,
모든 포트포워딩을 OFF - 설정 저장(재부팅)하고,
다시 ON - 설정저장(재부팅)하니 접속이 되었습니다.
서버-클라이언트를 점검하여 문제를 해결하려고 했습니다.
공유기 설정을 ON-OFF-ON 으로 변경하는 것만으로 해결되리라고 생각치 못했습니다.
이 문제를 해결하면서 ssh 연결 과정을 더 세세히 살쳐볼 수 있었습니다.