[SSH/Linux] ssh 서버 로그인 오류

Dawoon·2024년 5월 27일
post-thumbnail

SSH로 서버에 접속하실 때, 한 번쯤은 서버에 접속할 수 없다는 오류를 보셨을 겁니다. 저는 LLM을 연구하며 올해 유독... 오류를 많이 마주했는데요, 제가 만났던 오류들과 그 해결 방안에 대해 작성해보겠습니다. 많은 분들에게 도움이 되기를 바랍니다.

[원인 1] Config 파일 작성 오류

vscode에서 ssh 접속할 때 누구나 한번쯤은 만나봤을 법한 기본 오류입니다. 가장 먼저 ip와 port 번호, 그리고 사용자명이 올바르게 설정되었는지 확인해봐야 합니다. 잘못된 부분을 수정하고 저장까지 꼭 하신 다음 다시 접속해보시길 바랍니다. ( 아래의 사진은 예시입니다. )

[원인 2] Known_hosts 삭제

로컬의 .ssh 폴더 내부의 known_hosts를 삭제해주는 방법입니다. 보통의 접속 오류는 호스트끼리 충돌이 발생하여 그런 경우가 많으니 이 방법으로 거의 해결될 것입니다.

[원인 3] 서버 메모리 용량 초과

LLM 같이 용량을 많이 차지하는 프로그램/파일을 서버에 다운 받고 사용하시는 분들은 주기적으로 서버의 여유 저장공간을 확인하셔야 합니다.

df -h #서버 저장공간 사용량 및 남은 공간 확인

보통 vscode로 서버를 접속하면 서버 상의 ssh 파일이 다시 작성되어 저장 되는데요, 이때 저장공간이 부족하면 vscode로는 서버에 접속할 수 없습니다. (그냥 터미널로 접속은 됩니다.) 해결 방법은 파일 정리입니다. 디스크 용량은 한정되어 있으니 주기적으로 안 쓰는 파일은 삭제하도록 합시다...

[원인 4] 서버의 본인 디렉토리 소유자 및 권한 확인

이건 보통... 웬만한 경우가 아니고서야 생길 일이 없는 오류 같습니다.
그런데? 그 일이 저희 랩 서버에서 일어났습니다. 저장공간 문제도 없는데 터미널과 vscode로 접속이 안 되길래 원인을 찾다가... 우연히 제 woekspace의 소유자가 다른 사람으로 바뀌어 있는걸 발견했습니다.
본인이 수도 권한이 있다? 골탕 먹이고 싶은 사람의 디렉 소유자를 바꿔보세요 ^^

vscode가 아닌 터미널로의 ssh접속도 .ssh 파일을 읽는데 소유자가 다르다보니 권한이 없어 접근이 불가능했던 것입니다. 이 경우에는 파일을 소유하고 있는 사람이나 수도 권한자에게 문의하여 소유자를 바꿔달라고 하시면 됩니다. 바꾸는 명령어는 아래와 같습니다.

chown -R <지정할소유자명> <디렉토리명> //해당 명령어 실행시 디렉토리 내부파일까지 소유자 변경됩니다.

#<예시> chown -R dawoon ./workspace/

가끔 파일의 권한이 높게 설정되어 있는 경우도 있어서 안 될 수도 있는데, 그럴 땐

chmod 777 -R ./workspace/

이렇게 실행해주시면 됩니다. 이는 모두에게 파일 읽기/쓰기/실행 권한 수준을 "누구나 가능" 수준으로 바꾸는 명령어 이므로, 중요한 파일이라면 할 일 끝내시고 다시 chmod로 원래의 수준으로 꼭 돌려놓으시길 바랍니다.

[원인 5] 서버 방화벽 및 포트 listen 확인

서버의 포트가 현재 외부 접속을 허용하는지 확인해보셔야 합니다. 개인 설정에 문제가 없다면 보통 모든 문제는 여기서 온다고 보시면 될 것 같습니다. (저의 경우는 지난 글에서 다루었던 ubuntu 무작정 업그레이드 사건으로 인해 네트워크 설정에 관련한 파일에 문제가 생겨 ubuntu를 재설치 했습니다...)

확인해보는 방법은 아래와 같습니다.

netstat -nap | grep LISTEN //열려있는 포트 조회

방화벽 설정 확인은 아래와 같습니다.

ufw status //우분투 기준입니다.

0개의 댓글