TIL [20240627] - WSL 문제

이윤성·2024년 6월 27일
0

TIL

목록 보기
45/51

AWS에서 instance에 접속하기 위해 Window에서는 WSL을 사용하여 진행했습니다.

chmod 400 newkeypair.pem

해당 명령어는 문제가 없었는데

ssh -i newkeypair.pem {name}@{instance-public-ip}

를 입력하니 -ash: ssh: not found 오류를 뱉어냅니다. 팀 프로젝트 때 급하게 설정하려했으면 큰일났겠다라는 생각이 들어 다행이었습니다. 사실 WSL로 연결하려는게 문제인거지 다른 툴을 쓰면 멀쩡히 되서 상관은 없었지만 WSL로 쓰는 법을 알려주니 해결 해보려했습니다.

이번 경우에는 검색보다 AI와 대화로 찾는 것이 더 빨랐던 것 같습니다.

-ash: sudo: not found sudo 패키지가 없다고 떠서 sudo 패키지를 설치하는 것을 알려줬습니다. apt update 해당 명령어도 실행이 안되서 물어보니 실행 중인 환경이 매우 기본적인 리눅스 환경임을 알려줬습니다.

$SHELL이 /bin/ash로 설정되어 있는 것을 보니, 현재 사용 중인 시스템이 Alpine Linux일 가능성이 높습니다. Alpine Linux는 경량화된 리눅스 배포판으로, 기본 쉘로 ash(Almquist shell)를 사용하며, apt 대신 apk를 패키지 관리자로 사용합니다.
이 경우 다음 단계를 따라 시스템을 업데이트하고 필요한 패키지를 설치할 수 있습니다:

  1. 먼저 bash를 설치합니다: sudo apk add bash

  2. 그 다음, /etc/passwd 파일을 직접 수정하여 기본 쉘을 변경합니다. 하지만 이 작업은 주의가 필요합니다: sudo sed -i 's|/bin/ash|/bin/bash|g' /etc/passwd
    이 명령은 /etc/passwd 파일에서 모든 사용자의 기본 쉘을 ash에서 bash로 변경합니다.

  3. 변경 사항을 적용하려면 WSL 세션을 완전히 종료하고 다시 시작해야 합니다.

localhost:~# echo $SHELL
/bin/bash

성공적으로 bash로 변경되었습니다.
이후에는 SSH 문제를 해결하기위해 ssh-client를 설치하는 작업을 했습니다.

  1. 먼저 패키지 목록을 업데이트합니다: sudo apk update
  2. SSH 클라이언트를 설치합니다: sudo apk add openssh-client
  3. 설치가 완료되면 SSH 버전을 확인하여 제대로 설치되었는지 확인합니다: ssh -V

이후에는 실행이 잘되어 강의대로 진행할 수 있게 되었습니다.

강의 대부분이 AWS의 설정을 기반으로 해서 아직 어떤 식으로 정리해서 봐야될지 감이 안오긴 합니다. 또 강의가 짧으면서 많다보니 중요한 설정들을 기록해두는 것이 좋을지 고민됩니다.

0개의 댓글