打开/关闭搜索
搜索
打开/关闭菜单
60
763
73
2315
md5.pw
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
上传文件
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
登录
请求账号
查看“︁跨平台/多设备管理指南(Windows/Mac/移动SSH/SFTP+配置同步)”︁的源代码
来自md5.pw
分享此页面
更多语言
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
跨平台/多设备管理指南(Windows/Mac/移动SSH/SFTP+配置同步)
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
当你拥有了第一台 VPS,并成功在上面部署了博客或个人网盘后,你很快就会面临一个极其现实的痛点:'''多设备管理'''。 尝试想一下这些场景: 你在公司的 Windows 电脑上刚刚配置好新买的服务器 IP 和密码;回到家,你想用 Mac 笔记本稍微修改一下配置,却发现没有记录服务器信息,又要重新查阅邮件;周末躺在床上,服务器突然宕机,你想用 iPhone 或安卓手机紧急重启一下服务,却发现手机上根本没有合适的工具,更别提那些长得像乱码一样的 SSH 密钥了。 如果你正好被这些问题所困扰的话,那么这篇文章就是为你准备的。下面的内容会带你告别“换一台电脑就重新配置一次服务器”的原始时代,构建一套完美支持 '''Windows / macOS / Linux / iOS / Android''' 的跨平台服务器管理体系。 ---- == 第一章:核心概念补全(SSH 与 SFTP) == 在介绍具体的跨平台软件之前,作为新手,我们需要彻底搞懂我们日常管理 VPS 最依赖的两个核心协议。了解它们,你才能明白各种跨平台软件到底在同步什么。 == 1.1 什么是 SSH? == '''SSH(Secure Shell,安全外壳协议)''' 是一种加密的网络传输协议。你可以把它简单理解为“远程终端控制线”。 当你使用 SSH 客户端(无论是在电脑还是手机上)连接到 VPS 时,你在客户端键盘上敲下的每一个字母,都会被加密传输到 VPS 上执行,VPS 屏幕上的输出结果也会加密传回你的设备。 管理多设备 SSH 的核心痛点在于:如何安全、便捷地在不同设备间同步服务器的 IP、端口、用户名,以及最重要的——SSH 密钥(私钥)。 == 1.2 什么是 SFTP? == '''SFTP(SSH File Transfer Protocol,安全文件传送协议)'''。很多新手容易把它和传统的 FTP 搞混。 传统的 FTP 需要在服务器上额外安装软件(如 vsftpd),且传输过程不加密,极其不安全。 而 SFTP 是直接寄生在 SSH 协议之上的。这意味着,只要你的服务器能通过 SSH 连上,你就天然可以直接使用 SFTP 进行文件传输,不需要在服务器上安装任何额外的东西。 SFTP 提供了一个类似于 Windows 资源管理器的可视化界面,让你不仅能敲代码,还能通过鼠标拖拽的方式,把本地电脑里的文件上传到 VPS,或者把 VPS 里的备份文件下载到本地。 ---- == 第二章:跨平台管理的王者 —— Termius 实战指南 == 如果要在全平台(Win/Mac/iOS/Android)找出一款 UI 最精美、同步体验最丝滑的 SSH/SFTP 客户端,Termius 绝对是目前的行业标杆。 == 2.1 Termius 的优势与劣势 == * '''优势:'''真正的全平台覆盖;所有设备间的数据(包括服务器信息、密码、密钥、代码片段)通过云端端到端加密自动同步;手机端针对触摸屏优化了极其好用的虚拟键盘(包含常用的 Tab、Ctrl、Esc 键);内置 SFTP 可视化管理。 * '''劣势:'''高级功能(如 SFTP、后台保持连接、多设备云端同步)需要付费订阅(Termius Pro)。 * '''白嫖福利:'''如果你是在校学生,可以通过申请 GitHub Student Developer Pack(GitHub 学生包) 免费获取 Termius Pro 权限。 {| class="wikitable" |+ !Win !iOS !Android |- |[[File:F3ab0dd0.png|center|thumb|400x400px]] |[[File:8b65d642.png|thumb|651x651px]] |[[File:A948350e.png|thumb]] |} == 2.2 Termius 的基础配置与主机添加 == # '''下载与注册:'''在各大应用商店或官网下载 Termius,并注册一个 Termius 账号。这个账号就是你跨平台同步的唯一凭证。 # '''添加主机 (Host):''' 打开 Termius,点击 <code>New Host</code>: #* '''Label (标签):'''给服务器起个好记的名字(我就随便了),比如 搬瓦工测试1 。 #* '''Address (地址):'''填入你的 VPS 公网 IP。 #* '''Port (端口):'''默认是 <code>22</code>。如果你在安全设置中修改了 SSH 端口,请填入修改后的数字。 #* '''Username (用户名):'''通常是 <code>root</code>,或者你自己创建的普通用户(如 <code>ubuntu</code>)。 #* '''Password / Key (密码或密钥):'''你可以直接输入密码,但强烈建议使用 SSH 密钥(见下文)。 # '''保存并连接:'''双击新建的主机,第一次连接时会弹出一个指纹确认框 (Fingerprint),点击 <code>Add and Continue</code>,即可看到熟悉的黑色命令行界面。 [[File:Hgewrh321ert.png|center|thumb|888x888px]] == 2.3 在 Termius 中优雅地管理 SSH 密钥 (Keychain) == 跨平台管理最麻烦的就是私钥文件在不同设备间怎么传递。Termius 提供了一个叫做 Keychain(钥匙串) 的功能。 # 点击左侧菜单栏的 <code>Keychain</code>(钥匙图标)。 # 点击 <code>+ New Key</code>,你可以选择 <code>Generate</code>(让 Termius 帮你生成一对全新的密钥)或者 <code>Import</code>(导入你已经在电脑上生成的私钥文件)。 # 生成或导入后,这把“私钥”就会被保存在你的 Termius 云端(加密状态)。 # '''关键一步:'''回到你之前添加的 Host 属性界面,在认证方式那里,不要填密码,而是点击 <code>Key</code> 下拉菜单,选择你刚才在 Keychain 里保存的那把钥匙。 '''多设备魔法:'''现在,你拿出 iPhone 或安卓手机,下载 Termius 并登录同一个账号。你会发现你的服务器列表和那把至关重要的私钥,都已经完美同步在你的手机里了。在手机上点击连接,瞬间连上服务器,完全不需要重新导入任何文件。 {| class="wikitable" |+SSH 密钥同步 !Win !IOS !Android |- |[[File:94550c66.png|center|thumb|404x404px]] |[[File:385a6751.png|thumb|651x651px]] |[[File:22161522.png|thumb]] |} == 2.4 Termius 的内置 SFTP 使用 == 在电脑端 Termius 的左侧菜单中点击 <code>SFTP</code>。 屏幕会分为左右两半:左边是你本地电脑的文件夹,右边是你的 VPS 服务器文件夹。 你只需要像操作本地文件一样,在右侧找到你要移动的目录,把左侧本地的文件直接拖拽过去即可,进度条会在下方显示。 [[File:Adsf465asd.png|center|thumb|888x888px]] ---- == 第三章:开源免费的替代方案(Tabby / Electerm) == 如果你不想为 Termius 付费,或者更倾向于使用开源软件以确保绝对的隐私安全,下面这两款跨平台工具同样能满足你的需求。它们主要通过 GitHub Gist(GitHub 提供的一个代码片段托管服务)来实现多设备之间的配置同步(但可能对移动设备的同步体验就没有Termius来的好)。 == 3.1 极客之选:Tabby (Terminal) == Tabby 是一款基于 Web 技术构建的现代化终端,支持 Windows、macOS 和 Linux。 * 特点:高度可定制化(主题、快捷键极其丰富)、支持分屏、自带非常炫酷的特效。 * 同步机制:内置了 Sync 插件。 如何配置 Tabby 的跨平台同步? # 登录你的 GitHub 账号,访问 <code><nowiki>https://github.com/settings/tokens</nowiki></code>。 # 点击 <code>Generate new token (classic)</code>。 # 随便起个名字(如 Tabby Sync),勾选 <code>gist</code> 权限(Create gist)。然后生成 token,复制那串很长的英文字符串(只显示一次,务必保存好)。 # 在公司电脑和家里电脑上分别下载安装 Tabby。 # 打开 Tabby 的设置 -> <code>Sync (同步)</code>。 # 将刚才复制的 GitHub Token 粘贴进去。 # 在一台电脑上配置好所有的 VPS 信息后,点击 <code>上传 (Upload)</code>。 # 在另一台电脑上,输入相同的 Token,点击 <code>下载 (Download)</code>。 你的所有服务器列表、字体设置、甚至外观主题,瞬间完成跨设备同步! == 3.2 简单粗暴的实战派:Electerm == Electerm 同样是一款跨平台的开源 SSH/SFTP 客户端。 * '''特点:'''它的最大亮点是终端和 SFTP 默认同屏显示。屏幕左边敲命令,右边直接就是文件管理器,对于经常需要修改配置文件的 VPS 新手来说,体验极佳。 * '''同步机制:'''同样使用 GitHub Gist 同步。配置方法与上文的 Tabby 几乎一模一样:在设置中填入拥有 Gist 权限的 GitHub Token 即可实现云端同步。 ''(注:以上两款开源软件目前对 '''移动端 iOS/Android''' 的支持较弱,如果必须用手机管理,建议搭配移动端专属的免费 SSH 软件,如 ServerBox 等使用。)'' == 第四章:硬核派玩法 —— 纯原生 OpenSSH 与云盘同步 == 如果你是一个极简主义者,讨厌安装各种臃肿的第三方 SSH 客户端,想要像真正的 Linux 大神一样,只用系统自带的终端(Windows Terminal / macOS Terminal)来管理所有设备,那么这就是为你准备的进阶方案。 == 4.1 神奇的 <code>~/.ssh/config</code> 文件 == 系统自带的 SSH 工具,每次连接都要敲一行长长的代码,例如: <code>ssh -p 2222 root@123.45.67.89 -i ~/.ssh/my_key</code> 这简直有点反人类。但其实,SSH 客户端自带了一个配置文件功能。 无论是 Windows 还是 Mac,在你当前用户的根目录下,都有一个隐藏文件夹 <code>.ssh</code>。在这个文件夹里 '''新建''' 一个名为 <code>config</code> 的无后缀文件。 [[File:A5sdf2ga.png|center|thumb|888x888px]] 用文本编辑器打开它,写入以下内容: # 我的 Halo 博客服务器 Host halo HostName 123.45.67.89 Port 2222 '''User''' '''root''' IdentityFile ~/.ssh/halo_ed25519 # 我的 测试 机器 Host test HostName 98.76.54.32 Port 22 '''User''' '''ubuntu''' IdentityFile ~/.ssh/test_rsa</code> 保存后。你就会发现, 以后无论你在 Windows 还是 Mac 的自带终端里,只需要敲入: '''ssh halo'''</code> 系统就会自动读取 config 文件,自动寻找对应的 IP、端口和密钥,瞬间帮你连上服务器! {| class="wikitable" |+演示(这是.ssh文件下没有对应密钥的演示,使用ssh命令连接就需要自己输入服务器的密码) ![[File:244e6fbf.png|center|thumb|1111x1111px]] |} == 4.2 利用云盘实现原生多设备同步 == 既然所有的服务器信息都在 <code>config</code> 文件里,所有的私钥都在 <code>.ssh</code> 文件夹里,我们只需要同步这个文件夹不就行了? '''实操步骤:''' # 将你电脑上的整个 <code>.ssh</code> 文件夹移动到你的云盘同步目录中(比如 OneDrive、iCloud Drive、Dropbox 文件夹)。假设路径变为了 <code>~/OneDrive/My_SSH_Sync/</code>。 # 在不同设备上,使用软链接(Symlink),将系统默认的 <code>.ssh</code> 路径指向云盘里的路径。 在 Mac/Linux 上执行: ln -s ~/OneDrive/My_SSH_Sync ~/.ssh</code> 在 Windows (以管理员身份运行命令提示符 cmd) 上执行: mklink /D %USERPROFILE%\.ssh %USERPROFILE%\OneDrive\My_SSH_Sync</code> ⚠️'''新手需要注意:'''权限问题 SSH 协议对私钥(如 <code>id_ed25519</code>)的安全性要求极高。如果私钥的权限过于开放(比如任何人都能读取),SSH 客户端会直接拒绝使用这把钥匙并报错 <code>WARNING: UNPROTECTED PRIVATE KEY FILE!</code>。 如果你通过云盘同步到了 Mac 或 Linux 系统,请务必在终端中执行以下命令修复权限: # 修改所有私钥文件,只允许你自己读写 (600) chmod 600 ~/.ssh/config chmod 600 ~/.ssh/*id_ed25519 chmod 600 ~/.ssh/*id_rsa</code> == 第五章:专业的 SFTP 文件管理最佳实践 == 虽然 Termius 和 Electerm 自带了 SFTP 功能,但在处理海量文件(比如备份整个网站数据、下载几十 GB 的日志)时,专业的独立 SFTP 软件依然是不可替代的。 == 5.1 跨平台 SFTP 软件推荐 == * '''FileZilla (Win/Mac/Linux):'''老牌传输工具,完全免费。在 <code>站点管理器</code> 中,将协议选择为 <code>SFTP - SSH File Transfer Protocol</code>,登录类型选择 <code>密钥文件</code>,即可连接。 * '''Cyberduck (小黄鸭) (Win/Mac):'''界面更加现代化,不仅支持 SFTP,还支持各种云存储(如阿里云 OSS、Amazon S3)。新手使用极其友好,拖拽即可上传。 == 5.2 避坑:上传后的权限与归属 (chown/chmod) == 这是 VPS 新手最常遇到的奇怪的问题: “明明我用 SFTP 把网页文件上传到服务器了,为什么打开网站提示 403 Forbidden?”“为什么 Docker 容器启动失败,提示没有权限读取数据?” '''原因解析:''' 当你使用 SFTP 登录(假设你用的是 <code>root</code> 用户登录),你上传的所有文件,其所有者 (Owner) 都会自动变成 <code>root</code>。 但是,如果你服务器上运行的博客程序是用普通用户(比如 <code>www</code> 或 <code>nginx</code> 用户)运行的,那么这个程序就没有权限去读取你刚才用 <code>root</code> 上传的文件。 '''解决方案(必须掌握的两个命令):''' 当你通过 SFTP 上传完文件后,打开 SSH 终端,进入对应的文件夹。 * 修改文件所有者 (chown - Change Owner): 如果你知道程序是用 <code>www-data</code> 用户运行的,执行: # 将 /var/www/html 目录下所有文件和子文件夹的所有者变更为 www-data sudo chown -R www-data:www-data /var/www/html/</code> * 修改文件读写权限 (chmod - Change Mode): 一般来说,网站文件夹的安全权限标准是:目录 755,文件 644。 # 设置所有文件夹权限为 755 find /var/www/html/ -type d -exec chmod 755 {} \; # 设置所有文件权限为 644 find /var/www/html/ -type f -exec chmod 644 {} \;</code> == 结语:建立你自己的数字中枢 == 管理 VPS 从来不是一件枯燥的事情。当你建立起一套属于自己的跨平台管理体系后,你会发现: * 在办公室,你可以用 PC 上的 Termius 畅快地敲击长串命令。 * 在星巴克,你可以翻开 Mac,利用原生的 <code>~/.ssh/config</code> 瞬间登入后台。 * 在通勤的地铁上,服务器传来警报,你可以掏出手机打开 Termius,用虚拟方向键熟练地查看日志并重启服务。 从单设备到多设备的跨越,标志着你正在从一个 VPS 新手,蜕变为一名掌控全局的服务器管理者。选择最适合你的那款工具,将你的服务器 IP、精良配置好的环境和珍贵的 SSH 密钥安全地连接起来,开始享受随时随地使用服务器的乐趣吧!
返回
跨平台/多设备管理指南(Windows/Mac/移动SSH/SFTP+配置同步)
。
查看“︁跨平台/多设备管理指南(Windows/Mac/移动SSH/SFTP+配置同步)”︁的源代码
来自md5.pw