vscode ftp 프로그램 사용(sftp/ftp) > 개발관련
개발관련

vscode ftp 프로그램 사용(sftp/ftp)

조회 3,445회 댓글 0건
  • 현재 페이지 주소 복사
  • 페이스북으로 공유
  • X 로  공유
  • 트위터로  공유
  • 네이버 블로그로 공유
  • 네이버 카페 공유하기
  • 네이버 라인 공유하기
  • 네이버 밴드 공유하기
  • 링크드인으로 공유하기
  • 핀터레스트에 공유하기

vscode 무료 이면서 쓸만한데 제대로 되는것이 없어 참 불편한 프로그램 입니다. 하나 잘못 만나면 시간좀 들어가기도 하고 그렇습니다. 무료로 쓰면서 불만이 많다고 볼 수 있겠지만 사용한 시간 생각하면 글쌔요 라는 생각이 들기도 합니다.


ftp 프로그램 제대로 된것 만나는것도 운 입니다.

별표의 역활을 못하기 때문입니다.


소개해 드릴것은 sftp 입니다.

전 제 잘못인지 모르겠으나 sftp 설정은 못했습니다. ssh fs 프로그램을 통한 설정은 문제 없이 잘 되었는데 이 프로그램은 성공하지 못했습니다.

그런데 왜? 소개를 하나 싶을 텐데요. "Edit in Local" 을 통해서 다운로드 받아 편집하는 방식을 사용하면 함수에 마우스 올리면 도움말이 나오기 때문인데요. ssh fs는 이게 안됩니다.


ssh fs, sftp 이 프로그램 모두 폴더 형태로 보여줘서 편리한 점이 있습니다.

노트북 사용하는데 있어. ssh fs는 프로그램 종료 하고 다시 실행해야 하지만 sftp는 그렇지 않아도 됩니다.

물론 기다리면 되기는 하지만 확실하게 커넥션 시키기 위해선 ssh fs는 프로그램 종료 했다가 다시 실행하는 것이 좋습니다.

이 부분은 노트북 사용시 뚜껑 닫았다가 다음날 켰을때 절전 모드 들어갔을때의 상황입니다.

일반 PC 매일 재부팅 하는 경우는 관계 없습니다.



설치 방법인데요. 기존의 것을 지우라고 되어 있습니다.

최근 버전 설치하면 아이콘 안보이는데 저도 그래요.

SFTP - Visual Studio Marketplace 


설정에 들어가는 옵션을 알고 싶으면 아래를 참고하세요.

Common Config · Natizyskunk/vscode-sftp Wiki · GitHub 


vscode 다운그레이드 하면 기존의 설정 없어집니다. 그러니 sftp.json은 복사해서 다른 파일로 보관 하세요.


아래는 기본적인 설정입니다.

[

  {

  "name": "프로젝트1",

  "context": "v1",

  "host": "192.168.11.11",

  "protocol": "ftp",

  "port": 21,

  "username": "user1",

  "password": "pw123",

  "remotePath": "/home/",

  "uploadOnSave": true,

  "downloadOnOpen": true,

  "watcher":{ "files": "**/*", "autoUpload": false, "autoDelete": false },

  "ignore": [ "**/.vscode/**", "**/.git/**", ".sftp.json", "**/node_modules" ]

  },

  {

  "name": "프로젝트2",

  "context": "p2",

  "host": "192.168.11.12",

  "protocol": "ftp",

  "port": 21,

  "username": "user2",

  "password": "pw123",

  "remotePath": "/home/",

  "uploadOnSave": true,

  "downloadOnOpen": true,

  "watcher":{ "files": "**/*", "autoUpload": false, "autoDelete": false },

  "ignore": [ "**/.vscode/**", "**/.git/**", ".sftp.json", "**/node_modules" ]

  }

]

----------- 아래는 sftp로 ssh2 포트로 접속 -----------
    {

        "name": "연결명칭",

        "host": "IP",

        "protocol": "sftp",

        "port": 포트,

        "username": "계정명",

        "password": "비밀번호",

        "remotePath": "/home/",

        "uploadOnSave": true,

        "ignore": [".vscode", ".git", ".DS_Store","**/node_modules"],

        "algorithms": {

            "kex": [

            "ecdh-sha2-nistp256",

            "ecdh-sha2-nistp384",

            "ecdh-sha2-nistp521",

            "diffie-hellman-group-exchange-sha256",

            "diffie-hellman-group14-sha1",

            "diffie-hellman-group-exchange-sha1",

            "diffie-hellman-group1-sha1"

            ],

            "cipher": [

            "3des-cbc",

            "aes128-ctr",

            "aes192-ctr",

            "aes256-ctr",

            "aes128-gcm@openssh.com",

            "aes256-gcm@openssh.com"

            ],

            "serverHostKey": [

            "ssh-rsa",

            "ecdsa-sha2-nistp256",

            "ecdsa-sha2-nistp384",

            "ecdsa-sha2-nistp521"

            ],

            "hmac": ["hmac-sha2-256", "hmac-sha2-512", "hmac-sha1"]

        }

    }


==== 2023.02.11 추가 - sftp 사용


    {
        "name": "test22",
        "host": "12.12.12.11",
        "protocol": "sftp",
        "uploadOnSave": true,
        "useTempFile": true,
        "port": 22,
        "username": "root",
        "ignore": [ ".vscode", ".git", ".DS_Store", ".github/**", ".ci" ],
        "context": "./",
        "remotePath": "/",
        "watcher": {
            "files": "**/*",
            "autoUpload": true,
            "autoDelete": false
        },
        "remoteExplorer": {
            "filesExclude": [ ".git", ".vscode", ".github" ]
        },
        "privateKeyPath": "C:\\Users\\plus\\.ssh\\id_rsa.pem",
        "passphrase": null,
        "profiles": {}
    }

위와 같이 경로를 C:드라이브로 해주는것이 맞습니다.

그리고 \\는 두개 해줘야 합니다. VSCODE에서 \ 한개만 있으면 빨간색으로 표시되어 알려 줍니다.

그렇지 않으면 퍼미션 오류가 발생합니다. SFTP는 개발자가 또 변경되어 확장프로그램 목록에서 가장 최근까지 업데이트 된것을 찾아서 설치 하면 됩니다.

정상적으로 설정이 되었다면 목록에서 open 터미널 아이콘 작은것 클릭하면 바로 터미널로 들어갑니다.


* 리눅스에서 pem 파일 만드는 방법

[root@pabburi ~]# ssh-keygen -t rsa -m pem

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa): 

Enter passphrase (empty for no passphrase): 

Enter same passphrase again: 

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:z6AzL4eU5Ncn74vSHc7BuuBD6KSNwstQCqEjy1fw1YY root@pabburi

The key's randomart image is:

+---[RSA 2048]----+

|                 |

|        o        |

|.  .   E o       |

|..  o o .        |

|= .  = oS. .     |

|+=  . *.o+o =    |

|+o . B++..oO o   |

| o+ o ==+.o.=    |

|  oo   oooooo.   |

+----[SHA256]-----+

명령을 내리고 엔터만 계속 입력하면 되는데 이렇게 하면 비밀번호 없는 pem 파일이 생성 됩니다.


생성된 파일은 자신의 홈디렉토리에 .ssh 폴더에 생성 됩니다.

[root@pabburi ~/.ssh]# ll

합계 12

-rw------- 1 root root  562 12월 31  2020 authorized_keys

-rw------- 1 root root 1675  2월 11 21:24 id_rsa

-rw-r--r-- 1 root root  394  2월 11 21:24 id_rsa.pub


전 아래와 같이 하였습니다. 파일명을 변경하고 기존의 authorized_keys 필요할 수 있으니 백업

해외의 다른 예를 보면 id_ras 파일명 변경없이 그냥 사용하는 예도 있는데 저 처럼 변경 없이 그냥 사용해도 됩니다.

[root@pabburi ~/.ssh]# mv id_rsa id_rsa.pem 

[root@pabburi ~/.ssh]# rsync -a authorized_keys bak_authorized_keys 

[root@pabburi ~/.ssh]# cat id_rsa.pub > authorized_keys 


이렇게 문제 없는지 테스트용 파일 만들어 설정하고 잘 되면. 비밀번호 있는것 만들어 사용하면 됩니다.


● 참고할것

  vscode sftp ec2 아마존리눅스 사용시 vsftp 접속이 느린경우 > 개발관련  



  • 현재 페이지 주소 복사
  • 페이스북으로 공유
  • X 로  공유
  • 트위터로  공유
  • 네이버 블로그로 공유
  • 네이버 카페 공유하기
  • 네이버 라인 공유하기
  • 네이버 밴드 공유하기
  • 링크드인으로 공유하기
  • 핀터레스트에 공유하기
전체 241건 1 페이지
  • profile_image 맥미니에서는 Homebrew로 Apache(httpd) + PHP를 설치하는 방식이 가장 간단 한데 현재 Homebrew 기준 httpd는 Apache 2.4이고 php는 기본 설치 시 PHP 8.5 계열이 설치된다.당장은 PHP만 필요 하기 때문에 아래와 같이 PHP 설치리눅스를 레드햇 사용하느냐 맨드레이크냐 이런것 처럼 맥OS도 유닉스 계열이기 때문에 비슷한 환경이라 생각하고 사용하면 된다.몇가지 다른 부분이 있지만 유닉스 파생된 OS가 모두 조금씩 다른것 처럼 하고 생각하면 그만임. brew를 사용해 설치할 계획이기 때문에 설치가 안되었으면 먼저 설치 한다.whereis /bin/bashwhereis cu…
  • profile_image 맥미니에서 아래와 같이 쉽게 설치 하고 사용 할 수 있습니다.brew install tigger04/tap/superscale# 아래와 같이 하면 x2 형태가 파일명(input_x2.png)에 붙어 파일이 저장된다.superscale -s 2 input.png아래는 업스케일링 결과 입니다.단순히 이미지 키운것과 업스케링 한것과의 확연한 차이를 볼 수 있습니다. 
  • profile_image 보통 프로그래머라 하면 키보드를 붙잡고 알 수 없는 영문자를 빠르게 두드리는 사람을 떠올린다. 하지만 실제 개발 일은 그보다 건설 현장에 가까운데 무엇을 지을지 설계도를 그리고 철근으로 골격을 세우고 시멘트를 바르고 벽돌을 하나씩 쌓는 작업이다. 키보드는 마지막 순간의 연장 도구일 뿐이다. ▷ 일반인이 잘못 이해하고 있는 것들착각 1: 개발은 타자를 빨리 치는 능력이다실제로는 코드를 치는 시간보다 화면을 보며 고민하는 시간이 훨씬 길다. "어떻게 만들 것인가"를 먼저 설계하고 나서야 손이 움직인다.착각 2: 코딩 실력이 좋으면 좋은 프로그램이 나온다건물의 완성도는 벽돌치기 솜씨보다 설계도가 결…
  • profile_image 작은 몸체에 열이 많아서 외부 온도와 팬 속도를 모니터링 해서 맥미니 오래 사용하려고 모니터링 하기 위해서 하나 구입한 온습도계 입니다.우선 가을이 되면 괜찮은데 여름이 문제네요. 9,10월 ~ 4월까지는 확실히 괜찮지만 그외 시간은 열 관리에 특별히 더 신경을 써야 합니다.IDC 같은곳에 두는 경우는 산뜻한 환경이라서 이런 모니터링 하면서 시간을 버릴 필요는 없습니다.샤오미 미지아 블루투스 온습도계 2 = LYWSD03MMC라면 맥미니에서 직접 읽을 수 있습니다. 공식 사양상 Bluetooth 4.2 BLE 제품중요한 점은 macOS의 Bluetooth 설정에서 일반 기기처럼 페어링할 필요가 없다는 것입니다.…
  • profile_image 유닉스는 크게 AT&T 계열과 BSD 계열이 있고 BSD쪽이 성능이 더 좋은것으로 그래서 freeBSD 예전에 많이들 사용하고 그랬지만 그래도 리눅스보단 훨씬 덜사용 그런데 왜? 리눅스가 더 커졌을까?> 승부를 가른 건 성능 자체보다 라이선스, 타이밍, 드라이버, 배포판, 기업 지원, 클라우드 생태계macOS는 생각보다 Linux보다 FreeBSD/BSD 쪽과 혈통상 더 가깝고 명령은 리눅스 쓰던 사람은 그대로 사용 가능한것이 상당히 많다. 둘 다 Unix/POSIX 문화권에 있기 때문.난 지금까지 리눅스는 AT&T 기반으로 BSD가 섞인거라고 알고 있었는데 아니라고 하네요…
  • profile_image 웹루트 밖에 중요한 파일을 두면 안전하지만 관리측면에선 불편한 측이 있습니다. 웹서버 설정도 그렇고 하지만 초기 한번 설정 잘 하면 평생 잘 사용하는 방법 이기도 합니다.요즘 .env 파일 github에 올려서 이것만 찾는 봇이 있을 정도 라고 하지요.반드시 이 방식을 사용할 필요는 없는데 ... 작게 할일을 크게 하기도 하고. 정작 커졌을때는 그에 맞게 되어 있지 않고.오래된 방식인데 요즘 이렇게 안 하시는 분들 많은듯 싶습니다.웹서버를 통해서는 웹루트 밖에는 접근 자체가 안되는 방식이지만 백엔드 프로그램에선 접근해서 사용이 가능합니다.웹서버와 PHP 같은 백엔드 프로그램을 동일시 보시는분들이 있던데 전혀 다른 것입니…
  • profile_image CLI 프로그램 여러개를 테스트 하면서 공통으로 쓰이는 파일은 하나면 좋겠다는 생각이 들었습니다.이것 저것 수정하는데 몇 번은 괜찮은데 빠르제 지쳐가는 내 모습이 느껴 지면서 방법을 찾아 보았는데 대략 다음과 같습니다.- 최근 버전의 윈도우도 심볼릭 링크를 지원하기에 심볼릭 링크를 사용합니다.- 원격지와 공유가 가능하면 공유 디렉토리 지정해서 파일을 동시 사용- 에이전트에서 PHP의 include 처럼 포함시키는 명령이 있으면 그것 사용 ▷ 윈도우CMD에서의 구문 순서는 mklink [링크 경로] [원본 경로]mklink "C:\Path\To\GEMENI.md" "C:\Path\To\AGENTS.md"* 파워셀…

상업적 이용 금지. 컨텐츠는 개인 용도로만 사용이 가능 합니다.