[Setting | VSCode] ftp / sftp 접속

CI환경이 구축되지 않아서 수정한내용을 번거롭게 개발 & 배포를 해야할 경우가 있다.
이때 번거로움을 피하고자 서버에 직접 접속하여 수정하게 된다.
(물론, 이력관리서비스 장애에 취약하게 되니 추천되는 방법은 아니다.)
Visual Studio Code 에서 sftp로 서버에 직접 접속하여 소스를 수정하는 방법을 정리해 본다.


작성일 : 2021-03-27

1> Extenstions(단축키 Ctrl+Shift+X) > ftp-simple을 검색하여 설치한다.


2> 설치가 완료되면 단축키 Ctrl+Shift+P > ftp-simple : Config – FTP connection setting 실행


3> 다음과 같이 설정하고 저장

name : 접속구분
host : 서버호스트
port : 접속포트
type : ftp or sftp
username : 사용자명
password : 패스워드
path : 수정할 폴더경로
autosave : 수정후 저장시 자동으로 서버에 수정 및 저장여부
confirm : 저장시 덮어쓸지여부를 선택
privateKey : 접속시 키파일이 필요할경우 경로를 입력

※ 전체옵션

name - string - Display name.
host - string - server domain or ip.
port - number - (option) port (Default: : 21)
type - string - (option) ftp type. 'ftp' or 'sftp' (Default: : 'ftp'). If 'ftp' does not work, try 'ftp2'.
username - string - username for authentication.
password - string - (option) password for authentication.
privateKey - string - (option) (only sftp) String that contains a private key for either key-based or hostbased user authentication (OpenSSH format) Default: none
passphrase - string - (option) Use sftp 'privateKey' only. For an encrypted private key, this is the passphrase used to decrypt it. Default: none
agent - string - (option) (only sftp) Path to ssh-agent's UNIX socket for ssh-agent-based user authentication. Important: Windows users: set to 'pageant' for authenticating with Pageant or (actual) path to a cygwin "UNIX socket." Default: none
agentForward - boolean - (option) (only sftp) Set to true to use OpenSSH agent forwarding (auth-agent@openssh.com) for the life of the connection. agent must also be set to use this feature. Default: false
secure - boolean - (only ftp) Explicit FTPS over TLS, default: false
secureOptions - object - (only ftp) Options for TLS, same as for tls.connect() in Node.js.
path - string - (option) remote root path. Default: '/'
autosave - boolean - (option) To determine whether the automatically uploaded when you open a file directly and modify and save. Default: true
backup - string - (option) The local path you want to back up before file saving on the server.
confirm - boolean - (option) Only save option. When you save the file, ask if you want to overwrite the file if it already exists.. Default: true
project - object - (option) Only save option. Pre-specify local workspace path and server root path to save directly without selecting a path. Overwrite unconditionally.
ignore - array - (option) Only 'Remote directory open to workspace' option. Path to be ignore. Use glog pattern. (Caution : server path (ex:/home) + ignore pattern (ex:/**/node_modules) => /home/**/node_modules)

4> 단축키 Ctrl+Shift+P > ftp-simple : Remote directory open to workspace

선택하면 3>에서 설정한 접속구분명이 보여지고 접속할 폴더도 선택가능하다.


5> 파일 수정이 되지 않는다면…

파일에 권한을 확인해야 한다.
접속한 사용자가 파일수정권한이 없을경우 에러메시지 없이 서버에 내용이 반영되지 않는다.
파일의 소유자를 변경하거나 접속 username을 변경해야 한다.