EC2 인스턴스에 VScode의 Remote SSH로 연결할 때까지(일반 WSL 사용자용)

2840 단어 SSHcloud9VSCode

전제 조건


  • 직접 만든 개인 키로 SSH 로그인하고 싶습니다.
  • WSL로 언제나 SSH를 이용하고 있어, 비밀키의 장소도 WSL의 home 이하의 .ssh로 관리하고 있다. (개인 키의 편집 권한 설정에 관여합니다.)
  • cloud9라도 좋지만, 결국 VScode가 보기 쉽고 사용하기 쉽기 때문에 VScode로 개발하고 싶은 사람용.

  • 흐름


  • EC2 인스턴스에 공개 키를 EC2 인스턴스에 등록.
  • VScode에서 설정. VScode로 Remote SSH를 설치합니다. 설정 파일의 위치를 ​​변경.
  • 개인 키의 권한을 설정합니다.
  • config 파일을 설정합니다.

  • EC2 인스턴스에 공개 키를 EC2 인스턴스에 등록.



    EC2 인스턴스를 시작합니다.vim ~/.ssh/authorized_keys 에 공개키를 추기한다(기존의 공개키는 삭제해 버리지 않게).
    인스턴스가 공용 네트워크에 있는지(참조할 루트 테이블에 인터넷 게이트웨이가 있는지) 확인합니다.
    또한 인스턴스의 보안 그룹 설정에서 SSH 액세스가 허용되는지 확인합니다.

    VScode에서 설정.



    Remote SSH의 설정으로, 설정 파일의 장소를 이하(평상시 WSL로 SSH로 이용하고 있는 config 파일의 장소)로 변경.
    비밀키도 이쪽에 두고 있다.C:\Users\${Username}\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\${Username}\.ssh\config새롭게 어딘가에 만들어도 좋지만, SSH계는 한 곳에서 관리하는 것이 편하기 때문에.
    그러나 이렇게하면 개인 키의 권한 설정이 약간 필요합니다.

    개인 키의 권한을 설정합니다.



    WSK로 작성한 열쇠는, Windows(VScode)측으로부터는 풀 오픈이 되어 버리고 있다.
    확인 방법은 탐색기에서 파일을 마우스 오른쪽 버튼으로 클릭プロパティ⇒セキュリティ⇒詳細設定
    이 권한을 제대로 설정하지 않으면 VScode에서 Remote ssh로 연결하려고하면 permission too open 오류가 발생합니다.

    이하, 설정 방법.
    1. 우선 비공개 키를 복사(실패해도 돌아갈 수 있도록). 실패하면 돌아갈 수 없게 될 가능성이 있습니다.
    1. 복사 후 파일에서 권한을 변경합니다. 우선 상속을 무효화한다.
    1. 비활성화하면 마침내 사용자 이외의 액세스를 삭제할 수 있습니다.


    상기 설정은, WSL의 터미널로부터이면 sudo chmod 400 ./秘密鍵 로 끝나지만, Windows측으로부터 권한 설정이 되면 조금 번거롭다.

    주의점 : 매번 IP 주소가 바뀌므로 확인해야합니다. 혹은, 이 기사에서 도메인명을 취득해, 인스턴스 기동시에 매회 IP주소를 도메인명과 연결하도록(듯이) 설정하면 락.

    config 파일을 설정합니다.



    터미널에서 vim ~/.ssh/config 에서 config 파일을 편집. VScode에서도 가능하다.C:\Users\${Username}\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\${Username}\.ssh\config 이쪽에서도 좋고, WSL상에서 ~/.ssh/config 어느 쪽이든 같은 파일을 편집하게 된다.

    config
    Host cloud9VScode
            HostName ${ip_address} or ${example.com}
            user ec2-user
            identityfile C:\Users\${username}\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\${username}\.ssh/秘密鍵
    

    이것으로 연결됩니다.

    좋은 웹페이지 즐겨찾기