16

有没有办法使用 SCP 或 SFTP 从 Visual Studio 2008 发布网站?我知道可以发布到我的本地文件系统,然后使用 SCP 执行传输,但我想要更无缝的东西(例如 Visual Studio 的一部分)。这个功能存在吗?也许是一个插件?

4

2 回答 2

37

用于发布页面的内置系统有点受限。

我发现有用的一件事是使用 WinSCP,它有一个名为“保持远程目录最新”的功能。它将为您的本地系统设置一堆文件系统观察程序,如果您在本地更改某些内容,它将自动上传。使用它并发布到本地目录使事情变得容易。

于 2009-10-11T03:20:30.737 回答
7

如果您安装了 Windows 10 和 bash/linux 子系统以及 Linux/BSD 服务器,您可以:

结合 ssh 和 rsync

我更喜欢rsync通过ssh管道使用,因为它不会上传未经修改的文件,它更有效。

  • 从视觉工作室,在一个文件夹中发布,说I:/www/WebProject
  • 使用此命令仅更新更改,并删除已从发布文件夹中删除/不存在的文件,这要归功于--delete

bash -c "rsync -avH --delete --progress /mnt/i/www/WebProject -e ssh server:/var/www/"

I:/www/WebProject项目发布的本地文件夹在哪里,Web/var/www应用程序的远程目录在哪里。

准备(做一次)

您需要做一些工作才能让 ssh 在没有密码但使用密钥的情况下工作。

  • 假设您的 bash 用户名在服务器上也相同;如果没有,只需使用username@server

  • 命名您的服务器:

  • 添加xx.xx.xx.xx server到文件中c:/windows/system32/drivers/etc/hosts

  • 使用 bash 将您的服务器添加到主机sudo echo "xx.xx.xx.xx server" >> /etc/hosts

  • 从 bash 生成您的密钥:

ssh --keygen 然后 [enter](无密码)

  • 将您的公钥发送到您的主文件夹中的服务器:

scp ~/.ssh/id_rsa.pub servername:~/

  • 从您的服务器(ssh server然后是密码):

cat id_rsa.pub >> .ssh/authorized_keys && rm id_rsa.pub

现在你可以不用密码ssh了。scpIMO 这比 filezilla 或只是 scp 要好得多。

于 2017-12-06T13:12:48.527 回答