WSL을 사용하여 EC2(Linux)에 액세스

Windows에서 EC2상의 파일을 조작할 때에, Poweshell로부터 ssh 커멘드를 두드려도 작업 가능하지만, WSL 쪽이 쾌적하다는 것으로, 인스톨 하기로 했다. 그래서 수행한 작업을 기록하십시오.

설치한 앱 버전


  • WSL 버전 2
  • Ubuntu-20.04
  • Windows Terminal Version 1.8.1444.0

  • WSL 설치



    이하를 참고로 인스톨을 실시.
    WSL 설치
    Windows 10에서 Linux 사용

    우분투



    Microsoft Store 에서 설치 가능.


    WSL2



    wsl_update_x64.msi를 먼저 설치해야 합니다. ( htps : // 아카. ms / wsl2 rr l )

    그 후, WSL의 버전 업 커맨드를 실행한다.
    PS > wsl --set-version Ubuntu-20.04 2
    

    WSL의 버전 확인을하고, 아래와 같이 Version이 2가 되어 있으면 OK
    PS > wsl -l -v
      NAME            STATE           VERSION
    * Ubuntu-20.04    Stopped         2
    

    PowerShell에서 wsl 명령으로 시작할 수 있습니다. 처음 시작할 때 사용자 이름과 비밀번호 등록이 필요합니다. (루트를 취할 때 필요)
    PS > wsl
    

    이쪽을 참고로 했다.
    WSL2를 조작하려고하면 "커널 구성 요소 업데이트 필요"가 표시됩니다.

    WSL2가 WSL1보다 뛰어난 점은 이쪽을 참조.
    WSL 1과 WSL 2 비교

    GCC



    나중에 뭔가 필요할 수 있으므로 GCC도 설치해야합니다 (필수는 아님).
    WSL을 기동한 후, 다음의 커맨드를 실행한다.
    $ sudo apt-get update
    $ sudo apt install gcc
    

    최초의 apt의 업데이트를 실시하지 않으면”404 Not Found”의 에러가 나오므로 주의(소1시간 막혔다).

    자세한 내용은 아래를 참조하십시오.
    Windows Subsystem for Linux(WSL)로 GCC를 설치해 보았다!

    SSH 연결



    config 및 pem 파일 배치


    /home/${USER}/.ssh 에 config 파일과 Key가 되는 .pem 파일을 배치한다.
    config 파일을 작성하는 방법은 다음을 참조하십시오.
    ~/.ssh/config 정보

    덧붙여서, C:\Users\${USER} (WSL상에서는 /mnt/c/Users/${USER} )의 ./ssh (은)는 PowerShell나 VSCode등에서 참조한다.
    이 밖에/.ssh/config가 없으면, ssh 접속해도 “ssh: Could not resolve hostname …”가 되어 버린다.
    두 config를 동일하게 유지하려면 cron을 사용하여 동기화하십시오. (나는 사본만으로 끝났지만)
    Windows용 ssh 설정을 Windows Subsystem for Linux(WSL)에 적용

    EC2의 키 권한을 변경합니다.



    배치한 .pem 파일을 다음과 같이 권한 변경한다.
    chmod 600 xxx.pem
    

    변경하지 않으면 ssh 연결시 다음과 같은 오류가 발생합니다.
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    Permissions 0777 for 'xxx.pem' are too open.
    

    참고:
    【SSH】공개키 인증과 EC2에 대해서

    ssh로 연결



    config에서 지정한 host 이름을 사용하여 ssh로 연결합니다.
    $ ssh (host名)
    
    configを使用しない場合
    $ ssh -i "(keyのフォルダ)/tdl-apps.pem" ユーザ名@ec2-… .ap-northeast-1.compute.amazonaws.com(←EC2のパブリックIPv4 DNS)
    

    Windows Terminal이 있으면 더욱 편리



    여러 창에서 EC2에 로그인하는 경우에 대비하여 Windows Terminal을 이용하면 편리합니다. 여러 탭을 전환하거나 한 화면에서 창을 나누어 작업할 수 있다. (세션의 복제도 할 수 있었으면 좋겠다..)
    Microsoft Store 에서 설치 가능.

    좋은 웹페이지 즐겨찾기