遠い声と想像

エイジ オブ ディスカバリー II


Keiner außer dem einsamen Herzen.



Home Picture ©


SFTP不输入密码直接进入服务器



每次更新网站内容,都要打开WINSCP。虽然WINSCP有一个“保持远程目录最新”的功能,减少了自己上传的麻烦,但既然用了hugo,用命令行就是一个更方便的方法了。

我的服务器端是ubuntu sftp,就采用sftp命令行。本身sftp命令行还是比较简单和方便的:

登录

$ sftp -P port sftp@serverip

按提示输入密码

将本地文件夹put到服务器端:

本地地址:E:\hugo\www\public
服务器端地址: /usr/www

put -r E:\hugo\www\public\ /usr/www/

看样子是可行的。在随后的应用中,却发现并没有那么简单。

sftp似乎总是交互式的,无法绕过输入密码这一关,使用脚本的例子几乎没有。网上能找到的脚本例子,都是使用lstp。我并不想这么用。最终,还是采用和github相同的方式,上传SSH公有密钥到服务器端解决输入密码的问题。

在使用github之初,就已经创建过这个密钥了,windows系统放在: /用户/用户名/.ssh/ 下,带pub后缀那个就是公钥。直接使用这个公钥:

$ ssh-copy-id -p port sftp@serverip #注意:端口号参数是小写字母 p

在服务器端,/home/用户名/ 路径下,会创建 .ssh/authorized_keys

然后使用sftp命令

$ sftp -P port sftp@serverip

直接进入服务器,不再需要输入密码了。

随后,就可将sftp命令写入一个文本文件, 直接一行命令就搞定:

$ sftp -P port -b batchfile sftp@serverip

密钥的方法,可参考: How To Set Up SSH Keys on Ubuntu 12.04

 

Next:         终于能改群晖桌面图片了   (2023-02-23)

Prev:         HUGO模板上下篇设为同频道的文章   (2023-02-19)