<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>SSH on 魔都水滴</title>
    <link>https://blog.margrop.net/tag/ssh/</link>
    <description>Recent content in SSH on 魔都水滴</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-CN</language>
    <lastBuildDate>Sun, 05 Jul 2026 06:50:00 +0800</lastBuildDate>
    <atom:link href="https://blog.margrop.net/tag/ssh/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>别再半夜抢遥控器了：用 DSM 计划任务给群晖儿童视频目录自动上锁</title>
      <link>https://blog.margrop.net/post/synology-kid-video-acl-curfew/</link>
      <pubDate>Sun, 05 Jul 2026 06:50:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/synology-kid-video-acl-curfew/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先说结论&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;这次不是“禁用孩子账号”，而是只给群晖里的一个儿童视频目录定时上锁。做法是在 DSM 7.2.1 上准备一个 &lt;code&gt;kid_video_guard.sh&lt;/code&gt;，到点用 &lt;code&gt;synoacltool&lt;/code&gt; 给目标目录加一条临时 &lt;code&gt;deny&lt;/code&gt; ACL，开放时间再把这条 ACL 删除。账号、密码、家庭相册、作业目录都不动，只有“儿童视频”这个柜门到点关上。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;原创封面：NAS 上的儿童视频目录到点上锁&#34; src=&#34;https://blog.margrop.net/post-images/synology-kid-video-acl-curfew/00-ai-cover.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>别把手机通行密钥当 SSH 密码：SSH 免密登录与 Passkey 的正确姿势</title>
      <link>https://blog.margrop.net/post/ssh-passwordless-login-passkeys-correct-use/</link>
      <pubDate>Tue, 30 Jun 2026 09:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/ssh-passwordless-login-passkeys-correct-use/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先说结论&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;SSH 免密登录和手机、Mac、Windows 上的通行密钥都在使用“公钥/私钥”这一类密码学思想，但它们不是同一个东西。SSH key 主要用来登录服务器、Git、跳板机和自动化任务；Passkey 主要用来登录网站、App 和账号体系。你可以把它们理解成两把都很先进的钥匙：一把开机房门，一把开网银和邮箱门，原理相似，但锁芯完全不同。&lt;/p&gt;&#xA;&lt;p&gt;正确姿势是：每台常用电脑生成独立 SSH key，私钥只留在本机或硬件安全钥匙中；服务器只保存公钥；确认免密登录成功后再考虑关闭密码登录。Passkey 则交给 iPhone、Android、macOS 26、Windows 11 的系统密码管理器或硬件安全钥匙保存，用于网站和 App 登录，不要试图把手机 passkey 直接塞进 &lt;code&gt;authorized_keys&lt;/code&gt;。本文给出三套一键脚本，覆盖 Windows 11、Ubuntu 26.04 和 macOS 26；同时给出人工自动执行和 Agent 自动配置两种方法，全部不依赖第三方服务，也不包含任何真实内网地址、完整计算机名、私有域名或密钥。&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>群晖把我的 root 锁在门外三道，我花了二十分钟把它教会</title>
      <link>https://blog.margrop.net/post/synology-root-and-ssh-key/</link>
      <pubDate>Thu, 18 Jun 2026 16:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/synology-root-and-ssh-key/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;TL;DR（先说结论）&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;群晖（Synology DSM）为了安全，默认把 SSH 关掉、还禁止 root 直接登录——这是好事，别骂它。这篇文章就是带你&amp;quot;按规矩&amp;quot;把门打开：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;控制面板 → 终端机和 SNMP → 启用 SSH&lt;/strong&gt;（把大门打开）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;用普通账户登录 + &lt;code&gt;sudo -i&lt;/code&gt; 切到 root&lt;/strong&gt;（先去物业借钥匙）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;修改 &lt;code&gt;/etc/ssh/sshd_config&lt;/code&gt; 里 &lt;code&gt;PermitRootLogin yes&lt;/code&gt;&lt;/strong&gt;（跟门卫说&amp;quot;root 是自己人&amp;quot;）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;synouser --setpw root xxx&lt;/code&gt; 设密码 + 把公钥写到 &lt;code&gt;~/.ssh/authorized_keys&lt;/code&gt;&lt;/strong&gt;（换一把永远不会丢的钥匙）&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;全程大约二十分钟，比想象简单。我会把每一步都用&amp;quot;钥匙和锁&amp;quot;的比喻讲清楚，再附上 vi 编辑器三秒钟入门、常见报错和 Q&amp;amp;A。&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>把「该睡觉了」搬出客厅：让 mac 的 launchd 每天 22:00 自动停用群晖孩子的账号，08:00 再悄悄启用</title>
      <link>https://blog.margrop.net/post/synology-mykid-curfew-launchd/</link>
      <pubDate>Sun, 14 Jun 2026 08:20:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/synology-mykid-curfew-launchd/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先说结论&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;群晖 DSM 控制台里其实有一个&amp;quot;停用账号&amp;quot;按钮，但它不会自动按时执行。借助 mac 自带的 &lt;code&gt;launchd&lt;/code&gt; 加一段 50 行的 &lt;code&gt;bash&lt;/code&gt; 脚本，可以做到：每天 22:00 把孩子的两个本地账号 &lt;code&gt;expired&lt;/code&gt; 标志置位，08:00 再恢复。脚本自带&amp;quot;改前查询 → 改 → 改后查询&amp;quot;的三步校验，任何一步对不上号立刻 &lt;code&gt;exit 1&lt;/code&gt;，launchd 会把执行日志写进 &lt;code&gt;StandardOutPath/StandardErrorPath&lt;/code&gt;。整件事的特别之处是**&amp;ldquo;家长&amp;quot;两个字被从对话里拿掉了**——你不用每天喊&amp;quot;该睡了&amp;rdquo;，机器会准时替你做。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;本文不打算讲一个大而全的家庭 NAS 管理方案，只围绕一件具体的事：让一个原本靠&amp;quot;人记得点&amp;quot;的操作，变成&amp;quot;到了点就自动发生&amp;quot;的纯系统级动作。&lt;/p&gt;&#xA;&lt;p&gt;如果你只想先看图，第二节那张「晚 10 点断电 / 早 8 点复电」的总览图就够了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;晚 10 点准时&amp;quot;断网&amp;quot;，早 8 点自动&amp;quot;复电&amp;quot;&#34; src=&#34;https://blog.margrop.net/post-images/synology-mykid-curfew-launchd/05-curfew-overview.svg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>你能 SSH 出去，却 SSH 不回来：一次被 Fail2Ban 误伤的反向访问排障实录</title>
      <link>https://blog.margrop.net/post/reverse-ssh-fail2ban-vpn-gateway-investigation/</link>
      <pubDate>Sat, 30 May 2026 15:45:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/reverse-ssh-fail2ban-vpn-gateway-investigation/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先说结论&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;这次问题的表象很简单：本机可以主动 SSH 到远端内网机器，但远端机器反过来 SSH 回本机时，连接直接被拒绝。&lt;code&gt;sshd&lt;/code&gt; 明明在监听，路由也没断，最后却卡在“反向访问”这一步。&lt;/p&gt;&#xA;&lt;p&gt;真正的根因不是 &lt;code&gt;sshd&lt;/code&gt; 挂了，而是 &lt;code&gt;Fail2Ban&lt;/code&gt; 把承载反向连接的 &lt;strong&gt;VPN 网关地址&lt;/strong&gt; 封掉了。对本机来说，来自远端的连接并不是以“远端机器本身”的地址出现，而是以网关地址出现。于是，错误的封禁对象把整条回程链路一并打断了。&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>别再远程桌面点点点：让 AI Agent 用 SSH 直接接管 Windows</title>
      <link>https://blog.margrop.net/post/agent-ssh-windows-openssh/</link>
      <pubDate>Wed, 13 May 2026 08:10:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/agent-ssh-windows-openssh/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先说结论&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;让 AI Agent 从 Linux 或 macOS 管理 Windows，并不一定要走远程桌面、VNC、商业远控软件，也不一定要额外装一套奇怪的 Agent Runtime。对大多数个人工作站、实验机、开发机和内网服务器来说，最简单、最干净、最容易被自动化工具理解的方案，就是在 Windows 上启用系统自带的 &lt;strong&gt;OpenSSH Server&lt;/strong&gt;，然后从 Linux/macOS 直接执行：&lt;code&gt;ssh &amp;lt;user&amp;gt;@&amp;lt;windows-host&amp;gt;&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;真正需要做好的只有三件事：第一，Win10 / Win11 正确安装并启动 OpenSSH Server；第二，在 Linux/macOS 生成 SSH key，把公钥放到 Windows 对应位置；第三，如果登录用户属于 Windows 管理员组，要把公钥写入 &lt;code&gt;C:\ProgramData\ssh\administrators_authorized_keys&lt;/code&gt;，并用 &lt;code&gt;icacls&lt;/code&gt; 收紧权限。完成以后，AI Agent 就可以像操作 Linux 一样，用 SSH 在 Windows 上执行 PowerShell、复制脚本、读取日志、安装工具和做自动化运维。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;本文所有命令、截图和主机信息都使用通用占位符，不包含真实内网地址、真实用户名、真实机器名、密钥、Token 或私人路径。你只需要把 &lt;code&gt;&amp;lt;user&amp;gt;&lt;/code&gt;、&lt;code&gt;&amp;lt;windows-host&amp;gt;&lt;/code&gt;、&lt;code&gt;&amp;lt;windows-ip&amp;gt;&lt;/code&gt; 这类占位符替换成自己的环境值即可。&lt;/p&gt;</description>
    </item>
    <item>
      <title>给 OpenClaw / HermesAgent 集成群晖操作 SKILL：从一句话到可审计的 NAS 自动化</title>
      <link>https://blog.margrop.net/post/openclaw-hermesagent-synology-skill/</link>
      <pubDate>Tue, 05 May 2026 12:20:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/openclaw-hermesagent-synology-skill/</guid>
      <description>&lt;p&gt;我之前已经整理过两篇偏“命令手册”风格的群晖文章：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.margrop.net/post/synology-ssh-commands/&#34;&gt;Synology 群晖 SSH 命令详解&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.margrop.net/post/synology-diskstation-cli-administration-guide/&#34;&gt;群晖 NAS CLI 管理指南&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;这两篇文章解决的是“人知道有哪些命令可以用”的问题。本文想解决另一个更实际的问题：如果我已经在使用 OpenClaw / HermesAgent 这类 Agent 工具，能不能把这些群晖命令沉淀成一个操作 SKILL，让我以后用一句话就能让 Agent 帮我检查 NAS、整理状态、生成操作计划，甚至在确认后执行一些维护命令？&lt;/p&gt;&#xA;&lt;p&gt;我的答案是：可以，但不应该把它做成“Agent 拿到 root 权限以后随便跑”。正确的集成方式应该是：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;让群晖 SSH 访问可控、可验证、可撤销。&lt;/li&gt;&#xA;&lt;li&gt;把常用群晖 CLI 操作写进 SKILL，让 Agent 知道可用命令、风险分级和输出格式。&lt;/li&gt;&#xA;&lt;li&gt;默认只允许只读诊断命令自动执行。&lt;/li&gt;&#xA;&lt;li&gt;对重启服务、修改权限、改用户、改网络、删除文件、存储相关操作设置确认门禁。&lt;/li&gt;&#xA;&lt;li&gt;每次执行后保留命令、输出和结论，方便回看和追责。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;如果你只想快速理解整篇文章，看下面这张图就够了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;OpenClaw / HermesAgent 集成群晖操作 SKILL 总览&#34; src=&#34;https://blog.margrop.net/post-images/openclaw-hermesagent-synology-skill/01-overview-handdrawn.svg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>【转】群晖NAS CLI管理指南</title>
      <link>https://blog.margrop.net/post/synology-diskstation-cli-administration-guide/</link>
      <pubDate>Thu, 30 Apr 2026 18:20:04 +0800</pubDate>
      <guid>https://blog.margrop.net/post/synology-diskstation-cli-administration-guide/</guid>
      <description>&lt;p&gt;本文档包含命令行工具，使应用程序能够利用群晖DiskStation上的资源，同时包含群晖错误代码参考列表。&lt;/p&gt;</description>
    </item>
    <item>
      <title>【转】Synology群晖ssh命令详解</title>
      <link>https://blog.margrop.net/post/synology-ssh-commands/</link>
      <pubDate>Thu, 30 Apr 2026 10:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/synology-ssh-commands/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;注意：SSH运行以下命令可能会损毁你的系统/硬盘，如不清楚具体含义请不要随意执行！！！&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>SSH 密钥算法 Ed25519 与 RSA 的前世今生，以及今天该怎么用</title>
      <link>https://blog.margrop.net/post/ssh-ed25519-and-rsa-history-and-best-practices/</link>
      <pubDate>Mon, 02 Mar 2026 09:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/ssh-ed25519-and-rsa-history-and-best-practices/</guid>
      <description>&lt;p&gt;很多人第一次接触 SSH，都是从一行命令开始的：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh-keygen -t rsa&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这条命令并没有错，但它背后有一个经常被忽略的问题：&#xA;我们讨论的到底是“RSA 这种密钥类型”，还是 &lt;code&gt;ssh-rsa&lt;/code&gt; 这种“签名算法”？&lt;/p&gt;&#xA;&lt;p&gt;这两个概念在很多旧教程里被混用，导致不少人一边以为自己“还在用老旧不安全方案”，一边又不知道怎么迁移，甚至在新系统和老设备之间反复踩坑。&lt;/p&gt;&#xA;&lt;p&gt;这篇文章就把这件事讲清楚：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;RSA 和 Ed25519 在 SSH 世界里是怎么一路走来的。&lt;/li&gt;&#xA;&lt;li&gt;为什么今天大家都在推荐 Ed25519。&lt;/li&gt;&#xA;&lt;li&gt;如果你线上还有一堆老机器，应该怎么稳妥迁移。&lt;/li&gt;&#xA;&lt;li&gt;2026 年这个时间点，个人和团队应该采用什么默认策略。&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>如何在Home Assistant里面安装HACS</title>
      <link>https://blog.margrop.net/post/install-hacs-in-home-assistant/</link>
      <pubDate>Fri, 19 Feb 2021 10:53:04 +0800</pubDate>
      <guid>https://blog.margrop.net/post/install-hacs-in-home-assistant/</guid>
      <description>&lt;h1 id=&#34;如果是虚拟机环境home-assistant-os&#34;&gt;如果是虚拟机环境（Home Assistant OS）&lt;/h1&gt;&#xA;&lt;p&gt;1.转到&lt;code&gt;Supervisor&lt;/code&gt;面板&#xA;2.安装一个SSH附加组件（需要在用户个人资料中启用&lt;code&gt;高级模式&lt;/code&gt;）&#xA;3.配置所选的SSH加载项&#xA;4.启动SSH附加组件&#xA;5.连接到SSH附加组件&#xA;6.运行HACS安装脚本&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget -q -O - https://hacs.xyz/install | bash -&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>群晖6.17最新获取root权限，设置root密码和SSH免登录</title>
      <link>https://blog.margrop.net/post/dsm-grant-root-permission-and-set-password-and-ssh-login/</link>
      <pubDate>Wed, 10 Feb 2021 20:40:26 +0800</pubDate>
      <guid>https://blog.margrop.net/post/dsm-grant-root-permission-and-set-password-and-ssh-login/</guid>
      <description>&lt;h1 id=&#34;一开启ssh功能&#34;&gt;一、开启SSH功能&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;控制面板&lt;/code&gt;-&amp;gt;&lt;code&gt;终端机和SNMP&lt;/code&gt;里，开启&lt;code&gt;SSH&lt;/code&gt;功能&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;二登陆群晖的ssh用系统默认用户登陆&#34;&gt;二、登陆群晖的SSH，用系统默认用户登陆&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;我这里是&lt;code&gt;admin&lt;/code&gt;，所以我输入以下命令，&lt;code&gt;admin&lt;/code&gt;和&lt;code&gt;IP地址&lt;/code&gt;修改为你的&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh admin@192.168.1.5&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>PVE下如何配置新安装的 ubuntu 20.04 server 虚拟机</title>
      <link>https://blog.margrop.net/post/pve-how-to-config-brand-new-ubuntu-20.04-vm/</link>
      <pubDate>Sat, 30 Jan 2021 15:33:44 +0800</pubDate>
      <guid>https://blog.margrop.net/post/pve-how-to-config-brand-new-ubuntu-20.04-vm/</guid>
      <description>&lt;h1 id=&#34;下载安装镜像iso&#34;&gt;下载安装镜像ISO&lt;/h1&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://mirrors.aliyun.com/ubuntu-releases/focal/ubuntu-20.04.2-live-server-amd64.iso&#34;&gt;阿里云ubuntu-20.04-live-server下载&lt;/a&gt;&#xA;&lt;a href=&#34;https://mirrors.aliyun.com/ubuntu-releases/bionic/ubuntu-18.04.5-live-server-amd64.iso&#34;&gt;阿里云ubuntu-18.04-live-server下载&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>CentOS安装Frp客户端，可使用SSH</title>
      <link>https://blog.margrop.net/post/centos-install-frp-client-for-ssh/</link>
      <pubDate>Sat, 23 Jan 2021 17:22:58 +0800</pubDate>
      <guid>https://blog.margrop.net/post/centos-install-frp-client-for-ssh/</guid>
      <description>&lt;h1 id=&#34;下载并解压frp&#34;&gt;下载并解压Frp&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;最新Frp下载地址：&lt;a href=&#34;https://github.com/fatedier/frp/releases/&#34;&gt;https://github.com/fatedier/frp/releases/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir ~/frp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd ~/frp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://github.com/fatedier/frp/releases/download/v0.35.0/frp_0.35.0_linux_amd64.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tar -xvzf frp_0.35.0_linux_amd64.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Proxmox VE 安装完成后的初始化环境脚本</title>
      <link>https://blog.margrop.net/post/proxmox-ve-init-bash-script/</link>
      <pubDate>Fri, 22 Jan 2021 16:42:46 +0800</pubDate>
      <guid>https://blog.margrop.net/post/proxmox-ve-init-bash-script/</guid>
      <description>&lt;p&gt;个人为了方便安装PVE，自己整理的相关命令，请根据自己的环境自行修改。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
