서버의 프로그램을 ssh로 연결하고 로컬 VSCode에서 편집
머리
원격 서버에 있는 프로그램을 로컬 PC에서 편집해야 했으며 지금까지 ssh를 통해 Jupyter Notebook에서 편집해 왔습니다.
그러나, 이것으로는 보완 기능을 사용할 수 없게 과연 싫어져 왔기 때문에, ssh의 접속처의 파일을 로컬의 에디터로부터 재기록할 수 있는 수단을 갖고 싶다고 생각해, 여러가지 조사했으므로, 자신이 온 것을 세세하게 메모 합니다.
환경
우분투 16.04 LTS
로컬에서 할 일
공개 키 인증 설정
이미 설정된 사람은 좋지만 공개 키 인증을 로컬에서 설정해야 합니다.
공개 키와 개인 키를 생성합시다.
$ ssh-keygen
Enter file in which to save the key
라고 듣기 때문에, 특히 열쇠의 이름을 붙일 필요가 없으면 아무것도 하지 않고 엔터를 누릅니다.그러면
Enter passphrase (empty for no passphrase
라고 듣기 때문에, 임의의 패스워드를 넣을 수 있습니다. (없어도 괜찮습니다)여기까지 오면
~/.ssh/
안에 id_rsa.pub
와 id_rsa
의 2개가 생성됩니다. 이것이 공개 키와 개인 키입니다.먼저 개인 키를 설정합니다.
개인 키는 로컬의 어디에 둘 수 있지만 보안 관점에서 권한을 600으로 설정해야합니다 (파일 변경 권한을 소유자에게만 제공하기 위해).
$ chmod 600 id_rsa
다음에 공개키에 대해서입니다. 리모트측의
.ssh/
에 이동할 필요가 있으므로 이동합시다. (로컬 측의 공통 키는 삭제해도 괜찮습니다)이동하면
id_rsa
의 이름을 authorized_keys
로 바꿉니다. 이 때 선인의 파일이 있으면 아래 줄에 추가하여 덮어 씁시다.$ mv id_rsa.pub authorized_keys # まだない場合
$ cat id_rsa.pub >> authorized_keys # すでにある場合
SSH 포트 포워딩 설정
ssh로 파일을 원격 서버로 전송하도록 설정합니다.
HOST myserver(好きな名前で)
Hostname リモートのホスト名
User リモートのユーザ名
IdentityFile 秘密鍵のパス(上で作った人は ~/.ssh/id_rsa)
IdentitiesOnly yes
ForwardAgent yes
RemoteForward 52698 127.0.0.1:52698
VSCode에 확장 기능 "Remote VSCode" 추가
VSCode에서 연결할 파일을 편집하는 데 필요합니다.
설치하고 활성화하십시오.
VSCode를 연결 가능 상태로 설정
F1을 눌러 명령 팔레트를 열고 Remote: Start Server를 선택합니다.
VSCode의 오른쪽 하단에 전파를 수신하고있는 것 같은 마크가 나오면 괜찮습니다.
VSCode를 시작하고 동시에 켜고 싶다면 File > Preferences > Settings를 열고 remote로 검색한 다음 Remote VSCode를 선택한 다음 Launch the server on start up.을 선택합니다.
원격 측에서 할 일
rmate 설치
rmate를 실행하려면 Ruby가 필요하므로 다운로드하지 마십시오.
rmate를 설치합니다.
$ curl -o /usr/local/bin/rmate https://raw.githubusercontent.com/aurora/rmate/master/rmate
$ sudo chmod +x /usr/local/bin/rmate
동작 확인
VSCode의 터미널을 조작하여 프로그램을 엽니다.
$ ssh myserver
$ rmate hoge.py
참고 자료
다단 SSH에서도 (Atom | VSCode)를 사용하고 싶다!
ssh 공개 키 인증 구현
Reference
이 문제에 관하여(서버의 프로그램을 ssh로 연결하고 로컬 VSCode에서 편집), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tanshoko/items/d76410db2f17e878fb15텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)