日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vscode使用sftp同步服务器文件

發布時間:2024/4/17 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vscode使用sftp同步服务器文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

環境介紹

服務器:騰訊云 + centos + onestack搭建好的lnmp環境

本地:mac

安裝openssh

sudo yum install openssh-client openssh-server openssh-sftp-server

配置

ssh方式連接sftp的配置文件在/etc/ssh/sshd_config, 可以在該文件指定端口號和相關參數。修改配置后需要重啟ssh

  • centos: systemctl restart sshd
  • ubuntu: service restart ssh

命令行連接sftp

本地終端執行:

sftp -P22 root@{ip地址} # 設置了密碼的需要輸入登錄密碼。

連接成功后默認進入的是登錄用戶的用戶目錄,root用戶進入到/root目錄,admin用戶進入到/home/admin目錄。

問題:vscode 無法同步

初始配置

{"name": "{服務器ip}","host": "{服務器ip}","protocol": "sftp","port": 22,"username": "root","password": "{對應的用戶密碼}","remotePath": "/data/wwwroot/www.i2arch.tech/frontend","uploadOnSave": true,"ignore": [".vscode", ".git", ".DS_Store", "node_modules", "vendor"] }

問題

終端連接成功后,配置sftp sync插件,但是上傳和下載時提示Permission Denied

問題分析

由于我的服務器上root用戶配置了禁用密碼登錄,只能使用ssh登錄,所以不用設置password項,即使設置了也是無效的。而sftp的配置默認加載的私鑰文件是~/.ssh/id_rsa。而我設置連接服務器的秘鑰文件是~/.ssh/github_rsa

調整后:

{"name": "{服務器ip}","host": "{服務器ip}","protocol": "sftp","port": 22,"username": "root","remotePath": "/data/wwwroot/www.i2arch.tech/frontend","privateKeyPath": "/Users/kameila/.ssh/github_rsa","uploadOnSave": true,"ignore": [".vscode", ".git", ".DS_Store", "node_modules", "vendor"] }

此后便可以成功同步服務器文件。

備注

起初服務器搭建sftp參考了教程Linux 配置SFTP,配置用戶訪問權限,按操作創建單獨的sftp用戶組sftp-users,單獨的sftp用戶admin,單獨的文件同步目錄/home/admin,等等。但是操作完有一系列問題。

問題1: 單獨的文件同步目錄/home/admin需要設置成sftp用戶組和用戶的訪問權限,但是我的web服務器nginx的目錄是/data/wwwroot/www.i2arch.tech/frontend,并且nginx配置里面需要web目錄的權限用戶組和用戶是www。這導致sftp同步文件之后還需要考慮方案來讓nginx服務器直接能夠訪問sftp同步目錄。

對于sftp同步目錄nginx的web目錄不一致的問題還可以通過修改nginx虛擬主機配置文件的根目錄或者建立軟鏈的方式解決,但是目錄權限的問題卻沒有想到好的辦法。

經過一系列嘗試以后,最后想著與其修改nginx的配置重定義根目錄用戶組和用戶,不如通過修改sftp組名和用戶名的方式調整,并且后來查看公司sftp的配置文件,發現公司的這個配置文件并沒有重新定義用戶組和用戶,所以感覺好像沒必要創建單獨的組合用戶,于是索性沒再按照上述教程中的步驟,直接通過root或admin用戶訪問。

繞了一大圈的感覺,但是不知道這種方式對于企業級項目會不會存在安全隱患,目前個人服務器上使用對于安全的要求沒有那么大,先這樣使用,如果有問題再做調整。

轉載于:https://www.cnblogs.com/zqunor/p/11557019.html

總結

以上是生活随笔為你收集整理的vscode使用sftp同步服务器文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。