用简短易记的用户名和密码连接群晖NAS的SFTP文件服务 2022.04.08
用简短易记的用户名和密码连接群晖NAS的SFTP文件服务 2022.04.08


; ====== 脚本设置开始 =====
; 不检查空变量是否为环境变量(推荐所有新脚本使用).
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; 启用或禁用可能产生错误的特定状况时的警告, 例如书写错误或缺少全局声明.
; #Warn ; Enable warnings to assist with detecting common errors.
; 让 Send, SendRaw, Click 和 MouseMove/Click/Drag 切换到 SendInput 方法.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
; 改变脚本的当前工作目录. 当前脚本所在目录的绝对路径. 不包含最后的反斜杠(根目录同样如此).
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
; 不显示托盘图标.
#NoTrayIcon
; 决定当脚本已经运行时是否允许它再次运行.Ignore: 跳过对话框并让旧实例继续运行. 换句话说, 试图启动已经运行的脚本会被忽略.
#SingleInstance Ignore
; 设置脚本可以 "看见" 隐藏的窗口.
DetectHiddenWindows,On
; 设置在类似 WinWait 命令中 WinTitle 参数的匹配模式.•2 = 窗口标题的任意位置包含 WinTitle 才能匹配.
SetTitleMatchMode,2
; 让脚本持续运行(即直到用户关闭或遇到 ExitApp).
#Persistent
; ====== 脚本设置结束 =====
SetTimer,WinHideTimer,1000
Hotkey,^!F9,ShowWinSCP
return
WinHideTimer()
{
;超时毫秒数,1分钟*60秒/分钟*1000毫秒/秒=60000毫秒, 1秒 = 1000毫秒
;A_TimeIdlePhysical表示从系统最后一次接收到键盘,
;鼠标或其他输入后所经过的毫秒数. 这可以用来判断用户是否离开.
if(A_TimeIdlePhysical>60000)
{
; 让WinSCP在后台继续传输文件,并且键盘鼠标闲置超时1分钟之后隐藏WinSCP窗口,防止泄密,防止被非法访问
; 需要显示WinSCP 窗口时请按快捷键 Ctrl + Alt +F9 或者输入热字串
WinHide,WinSCP
WinHide,ahk_class TScpCommanderForm
WinHide,ahk_exe WinSCP.exe
SetTimer,WinHideTimer,Delete
}
}
;
ShowWinSCP()
{
WinShow,WinSCP
WinShow,ahk_class TScpCommanderForm
WinShow,ahk_exe WinSCP.exe
WinActivate,WinSCP
WinActivate,ahk_class TScpCommanderForm
WinActivate,ahk_exe WinSCP.exe
SetTimer,WinHideTimer,1000
}
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ShellAPI;
type
TForm1 = class(TForm)
edtPwd: TEdit;
procedure tmr1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.tmr1Timer(Sender: TObject);
begin
if edtPwd.Text = '0000' then
begin
ShellExecute(handle, 'open', 'winscp.exe', '群晖SFTP用户名:群晖SFTP密码@群晖DDNS主机名称:端口转发的外部端口 /Desktop /UploadIfAny', nil, SW_SHOWNORMAL);
Application.Terminate;
end;
end;
end.
rem E:\Build\Autorun-Hotkey-Lnk\一键打包成单文件程序\一键打包成单文件程序.bat
rem Prog-SS-中的SS 是 Silent Setup 的简写,表示静默全自动安装
if exist "C:\Program Files (x86)\WinRAR\WinRAR.exe" (
"C:\Program Files (x86)\WinRAR\WinRAR.exe" a -ag__YYYY.MM.DD_HH-MM-SS -iiconi.ico -m5 -r -sfx -z%~dp0自解压脚本命令.txt %~dp0Prog-SS-.exe %~dp0..\*.*)
)else (
"C:\Program Files\WinRAR\WinRAR.exe" a -ag__YYYY.MM.DD_HH-MM-SS -iiconi.ico -m5 -r -sfx -z%~dp0自解压脚本命令.txt %~dp0Prog-SS-.exe %~dp0..\*.*)
exit
; E:\Build\Autorun-Hotkey-Lnk\一键打包成单文件便携可执行程序\自解压脚本命令.txt
;下面的注释包含自解压脚本命令
;Path=解压缩路径
;Presetup=解压缩前运行
;Setup=解压缩后运行,可以输入多行Setup=一起执行
;Silent=静默方式:1-隐藏全部 2-隐藏启动对话框 空着不设置-显示全部
;Overwrite=覆盖方式:1-覆盖全部文件 2-跳过已存在的文件 空着不设置-覆盖前询问
;请选择正确的图标并保存正确的配置文件
Path=C:\Prog\WinSCP
; 由于用Delphi编译之后的 “LoginSyno.exe” 再用“VProtect_Pro”等软件多次加密压缩多次加壳,
; 所以文件名变成了 “LoginSyno_VP.exe” ,只要能够通过真实机器实地测试,我宁可多加几层防护罩,防止NAS被非法入侵,防止NAS被非法访问
Setup=C:\Prog\WinSCP\LoginSyno\LoginSyno_VP.exe
Setup=C:\Prog\WinSCP\LoginSyno\WinHideTimer.exe
Silent=2
Overwrite=2
功能更新:
2023年3月5日 我分别用“Embarcadero.Delphi.11.2.v28.0.46141.0937.Lite.v17.2”和“Visual Studio Professional 2017 (version 15.7) (x86 and x64) 中的 VC++”重写了加密函数和登录函数,原理都差不多,主要是用if判断用户输入的
简短易记的密码是否正确,如果短密码正确则解密SFTP复杂用户名和SFTP复杂密码用Delphi或者C++语句执行WinSCP的命令行异地远程连接群晖NAS的SFTP文件服务。
WinSCP的启动命令格式是:
WinSCP.exe "群晖SFTP用户名:群晖SFTP密码@群晖DDNS主机名称:端口转发的外部端口" /Desktop /UploadIfAny
对于不知道详情的外部人员想要非法入侵“群晖NAS”窃取信息是比较困难的,假如不使用包含特殊字符的长度为127的用户名和包含特殊字符的长度为127的密码,而是用加密密钥加密文件或者用密钥文件验证身份登录的话就更加安全可靠了。
我实际测试 FileZilla Pro 的文件传输速度要比 WinSCP 和 FlashFXP 快,但是 FileZilla Pro 在修改文档或表格后需要手动确认才会上传修改后的文件,为了防止忘记确认上传文件,我果断抛弃 FileZilla Pro
坚持长期使用 速度比较慢的 WinSCP 版本 5.21.7 ( 构建版本 12963 2023-01-23 )
还是用 Delphi + VProtect_Pro 来加密群晖SFTP密码比较放心一点,虽然,AutoHotkey + VProtect_Pro 在我身边附近也没有人会脱壳破解取蜜。
把加密压缩打包后的“简易群晖登陆器.exe”存放在比较小的地理范围,我觉得这样很安全,因为,附件的解密高手不会太多,太远的超级解密高手又不知道情况(不知道我的国际顶级域名,不知道我的IP地址,不知到我的端口号,不知道我的操作系统类型,不知到我的127个字符的用户名,不知道我的127个字符的密码,不知道我的密钥文件,不知道我的加密函数和加密算法,不知到我的文件加密密钥)。
对外是超强的多层防火墙和多层加密,对内是一个简短易记的密码,一般情况下不会连 abc333 这样的密码也记不住吧。
在新的 Windows 电脑上只需要两步操作:
第1步:通过 “Synology Secure SignIn”无密码批准登录群晖DSM并下载 “简易群晖登陆器.exe”单文件压缩打包版。
第2步:用“简易群晖登陆器.exe”和用户大脑中记住的简短易记的密码异地远程登录群晖NAS。
WinSCP的一些快捷键也比较好用:
Shift + Ctrl + E 新建并打开文件(可以新建abc.docx或者123.xlsx,需要在WinSCP中设置一下 编辑器 关联应用程序 *.*)
Ctrl + E 编辑文件

Ctrl + D 新建文件夹
Ctrl + O 打开文件夹
鼠标拖放文件或者文件夹 上传或者下载文件,可以在电脑桌面与WinSCP窗口之间拖放文件夹是不是特别爽。
F3 查找文件
F2 重命名
Ctrl + T 下载
还有很多有用的功能可以参考 WinSCP主窗口的菜单栏、帮助文档、产品主页和支持论坛。
请在哔哩哔哩中搜索关键字 WinSCP
我的某台群晖网络存储服务器的SFTP文件服务的用户名是:
ds1821+usr-A_K-s_s_P_w-R_-_-Z_Y_-Y_w_K-q_u-U_U-_x_-_N-v_-w_A+end
我的某台群晖网络存储服务器的SFTP文件服务的密码是:
ds1821+pwd-AA8-e-KsL_5_6w77-Z-_Y_-M-G-R_E_dV-U-_x_pp_-79_wNA+end
用户名和密码都比较长比较安全不易被猜解不易被穷举不易被Crack也不易被记住

通过AutoHotkey脚本、WinSCP和Xftp可以在不修改群晖网络存储服务器的复杂冗长用户名和复杂冗长密码的前提下通过相对简短易记的密码连接群晖网络存储服务器的SFTP文件服务并编辑群晖网络存储服务器中的文档、表格、图片、音乐和视频文件。
https://www.autoahk.com/archives/40782
1、首先设置好群晖DS920+网络存储服务器的SFTP文件服务
2、WinSCP 5.19的AutoHotkey登录脚本,用飞跃的工具加密一下AutoHotkey源代码,保护好群晖SFTP密码,防止泄密。
WinSCP压缩打包成单文件便携程序,AutoHotkey验证密码相对简单,SFTP密码采用复杂密码,
使用时只需双击程序图标后输入简单密码 abc333 即可。
使用冷门的SFTP端口,使用复杂的用户名,
使用复杂的密码,使用高强度私钥,防止泄密,防止非法入侵。
由于WinSCP连接群晖SFTP的用户名和密码的命令行中不能包含一些特殊字符所以只能通过增加长度来提高密码的安全性,
例如:我以前曾经用过的群晖SFTP文件服务的 用户名是 :
SFTP-USER_9y_Z-e-VdvU9lX-nzrlwJ_2yGm_JM-6r_8AMnfHuS6D-QX7Tpx_END
我以前曾经用过的群晖SFTP文件服务的 密码是 :
SFTP-PASSWORD_kCn_qUiGtd-J-n_Ywj8_MTj-VP_hjHM-teA_C-yjAi_A3B_END
(加密密码,密钥,单文件打包,文件可以从电脑桌面拖放到群晖,
用鼠标拖放文件的操作来上传、下载和移动文件,来整理少量的群晖DS920+网络存储服务器中的文件,
如需大量整理文件请用RaiDrive映射网络驱动器之后
在映射网络驱动器之中用Total Commander、WizTree、DoubleKillerPro、Bulk Rename Utility 等工具软件
对文件进行大批量的操作。)
;
; 群晖简易登录器
;
; C:\Prog\WinSCP\Login.ahk
;
; WinSCP 一键登录群晖网络存储服务器SFTP文件服务的AutoHotkey脚本源代码
; 群晖SFTP设置成超级长超级复杂超级繁琐的密码不容易记忆,此脚本嫁接转换成容易记忆的简单密码 abc333
#SingleInstance,force
#Persistent
; 身份验证,请使用飞跃的 AHK 源码加密器 v3.1 -FeiYue 加密工具对AutoHotkey源代码加密保护SFTP登录信息
; 请使用专用函数对SFTP密码字符串进行加密处理
InputBox, password, Enter Password, (your Input will be hidden), hide
Needle := "abc333"
if InStr(password, Needle)
{
; 正在验证密钥文件是否有效
; 键盘和鼠标闲置超时时自动断开与群晖的SFTP连接保护隐私数据,防止泄密
SetTimer,ScreenLockAndOff,500
; 群晖SFTP文件服务请使用,复杂用户名,复杂密码,复杂网址,冷门端口和高强度私钥
; 群晖SFTP用超级复杂的强密码连接,用户只需要记住简单的密码 abc333 就可以了。
Run,%A_ScriptDir%\WinSCP.exe "SynologySFTPUserName:SynologySFTPPassword---ABC333&^#_--$!!!~k3$$3%8^^92((3'7f6s;'..?//\++_S@SynologySFTPDDNS.myds.me:49376" /Desktop /UploadIfAny
}
else
{
ExitApp
}
return
;
ScreenLockAndOff()
{
;超时毫秒数,50*1000=50000,1秒=1000毫秒
if(A_TimeIdlePhysical>50000)
{
if(A_TimeIdle>50000)
{
loop,5
{
;~ 键鼠闲置超时关闭WinSCP保护隐私数据,防止泄密
WinClose,ahk_class TScpCommanderForm
WinClose,ahk_exe WinSCP.exe
Process,Close,WinSCP.exe
;~ 关闭显示器
SendMessage, 0x112, 0xF170, 2,, Program Manager
;~ 锁定电脑桌面
Run,C:\Windows\System32\Rundll32.Exe user32.dll LockWorkStation
}
}
}
}
REM C:\Prog\一键制作群晖简易登录器便携绿色免安装单文件程序包.bat
REM 此批处理脚本文件最后编辑日期 2022年3月26日
if exist "C:\Program Files (x86)\WinRAR\WinRAR.exe" (
"C:\Program Files (x86)\WinRAR\WinRAR.exe" a -agYYYY.MM.DD_HH-MM-SS -m5 -r -sfx -y -z自解压脚本命令.txt C:\C_Prog_.exe *.*
)else (
"C:\Program Files\WinRAR\WinRAR.exe" a -agYYYY.MM.DD_HH-MM-SS -m5 -r -sfx -y -z自解压脚本命令.txt C:\C_Prog_.exe *.*
)
;下面的注释包含自解压脚本命令 REM C:\Prog\WinSCP\自解压脚本命令.txt
Path=C:\Prog\WinSCP
Setup=C:\Prog\WinSCP\Login.exe
Silent=2
Overwrite=2
REM 双击后自动登录群晖SFTP的命令行批处理脚本源代码【测试版、未身份验证、未加密、未添加私钥】
C:\Prog\WinSCP\WinSCP.exe "群晖用户名:群晖密码@DDNS域名.myds.me:冷门5位数端口号" /Desktop /UploadIfAny
3、ES文件浏览器(公网IP地址 + 群晖DDNS和华硕无线路由器DDNS)
由于安卓手机已经设置了闲置超时自动锁定屏幕、指纹解锁和人脸解锁,
所以ES文件浏览器保存了登录群晖SFTP的密码。
所有电子文件都统一集中分类保存在
群晖DS920+网络存储服务器之中。
在且只在群晖DS920+网络存储服务器中新建、
重命名、移动、筛选、分类、整理、编号、分享和删除文件。
平时不要在其他存储空间操作文件,
其他存储空间(例如:桌面、本地磁盘、网盘、U盘、光盘)
只用于大批量复制文件备份文件。
为了防止丢失正在编辑的文档或者表格的内容,
请正确设置 WPS Office 的定时自动保存。
所有文件集中统一保存,有利于全文索引,全文检索,
有利于今后在电脑或手机上搜索查找文件。
所有文件集中统一保存,对文件进行筛选分类整理和编号,
有利于今后查找文件,有利于提高工作、生活和娱乐的效率,有利于文件的管理和利用,
有利于
除了文档和表格之外的其他类型的文件都统一集中分类保存在
群晖DS920+网络存储服务器之中,
并用RAID 1 镜像存储池、
群晖Hyper Backup套件和
群晖Cloud Sync套件定时备份重要文件,
防止丢失重要文件。
白名单、受信任列表、V.P.N、隧道、密钥、公钥、私钥和PuttyGen
等等 我还在研究测试中 。。。。。。。
群晖SFTP密码加密请参考以下几篇文章:
https://www.autoahk.com/archives/23145
https://www.autoahk.com/archives/1597
C:\Prog\Xftp7\Xftp7.exe SFTP的用户名:SFTP的密码@DDNS的网址或IP地址:SFTP端口号
不要使用密码登录群晖的SFTP文件服务,请使用公钥/私钥 密钥对连接群晖的SFTP文件服务
不要使用密码登录群晖的SFTP文件服务,请使用公钥/私钥 密钥对连接群晖的SFTP文件服务
不要使用密码登录群晖的SFTP文件服务,请使用公钥/私钥 密钥对连接群晖的SFTP文件服务













浙公网安备 33010602011771号