<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>vps &#8211; ❤Haruko❤</title>
	<atom:link href="https://blog.hrk386.com/archives/tag/vps/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.hrk386.com</link>
	<description>386 Forever</description>
	<lastBuildDate>Mon, 05 Jan 2026 08:05:39 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
<site xmlns="com-wordpress:feed-additions:1">244765838</site>	<item>
		<title>使用DD脚本重装VPS系统的完整指南</title>
		<link>https://blog.hrk386.com/archives/49</link>
					<comments>https://blog.hrk386.com/archives/49#respond</comments>
		
		<dc:creator><![CDATA[はるこHaruko]]></dc:creator>
		<pubDate>Thu, 22 May 2025 03:46:12 +0000</pubDate>
				<category><![CDATA[技术指南]]></category>
		<category><![CDATA[日常]]></category>
		<category><![CDATA[DD脚本]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[常用命令]]></category>
		<category><![CDATA[重装系统]]></category>
		<guid isPermaLink="false">https://blog.hrk386.com/?p=49</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-jetpack-markdown"><h2>DD前的重要步骤：保存DNS解锁配置文件</h2>
<p>在开始DD之前，有个非常非常重要的步骤，千万别忘了！</p>
<p>如果你这台VPS之前或者将来是用来解锁流媒体（比如Netflix、Disney+等）或者其他依赖特定DNS服务的，那么你很可能需要保存当前的DNS配置文件。这个文件通常位于 <code>/etc/resolv.conf</code>。</p>
<p><strong>为什么重要？</strong> 因为有些服务商或者特定的设置，会通过修改这个文件来达到DNS解锁的目的。DD系统会彻底覆盖掉原来的文件系统，包括这个配置文件。所以，在DD之前，一定要把 <code>/etc/resolv.conf</code> 里的内容复制出来保存好。等新系统装好后，再把之前保存的内容加回去。</p>
<p>操作很简单，登录到你的VPS，然后查看并复制文件内容：</p>
<pre><code class="language-bash">cat /etc/resolv.conf
</code></pre>
<p>把显示出来的内容复制粘贴到你的电脑上保存起来。</p>
<h2>常用的DD脚本推荐</h2>
<p>准备工作做好了，咱们来看看有哪些好用的DD脚本。这里介绍两个比较流行的：</p>
<h3>DD脚本1: leitbogioro/Tools 的 InstallNET.sh</h3>
<p>这是一个功能比较全面的DD脚本，支持多种Linux发行版和版本，还可以设置一些基础参数。</p>
<p>项目地址：<a href="https://github.com/leitbogioro/Tools">https://github.com/leitbogioro/Tools</a></p>
<p>使用示例（以安装 Debian 12 为例）：</p>
<pre><code class="language-bash">wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' &amp;&amp; chmod a+x InstallNET.sh &amp;&amp; bash InstallNET.sh -debian 12 -port &quot;22&quot; -pwd '*******' -hostname &quot;主机名&quot; -timezone &quot;Asia/Hong_Kong&quot; -swap &quot;1024&quot; --bbr
</code></pre>
<p><strong>参数说明：</strong></p>
<ul>
<li><code>-debian 12</code>: 指定安装 Debian 12。你可以根据需要改成其他系统，比如 <code>-ubuntu 22.04</code> 等。</li>
<li><code>-port &quot;22&quot;</code>: 设置SSH端口，这里是22。</li>
<li><code>-pwd '*******'</code>: 设置root用户的密码。请将 <code>*******</code> 替换为你自己的密码！</li>
<li><code>-hostname &quot;主机名&quot;</code>: 设置主机名。</li>
<li><code>-timezone &quot;Asia/Hong_Kong&quot;</code>: 设置时区。</li>
<li><code>-swap &quot;1024&quot;</code>: 设置Swap分区大小，单位MB。这里是1024MB (1GB)。如果不需要可以去掉这个参数。</li>
<li><code>--bbr</code>: 安装并开启TCP BBR拥塞控制算法，有助于优化网络速度。</li>
</ul>
<p>执行这个命令后，脚本会自动下载镜像并开始安装过程。安装过程中可能会断开SSH连接，耐心等待几分钟（具体时间取决于你的VPS性能和网络速度），然后尝试用新密码和新端口（如果改了的话）重新连接。</p>
<h3>DD脚本2: bin456789/reinstall (推荐)</h3>
<p>这个脚本相对来说更简洁，但功能也很强大，而且更新比较及时，是我个人比较推荐的一个。</p>
<p>项目地址：<a href="https://github.com/bin456789/reinstall">https://github.com/bin456789/reinstall</a></p>
<p>首先，你需要下载这个脚本。根据你的VPS所在地（国内或国外），选择不同的下载源：</p>
<p><strong>国外VPS (国外鸡):</strong></p>
<pre><code class="language-bash">curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh || wget -O reinstall.sh $_
</code></pre>
<p><strong>国内VPS (国内鸡):</strong></p>
<pre><code class="language-bash">curl -O https://cnb.cool/bin456789/reinstall/-/git/raw/main/reinstall.sh || wget -O reinstall.sh $_
</code></pre>
<p>下载完成后，给脚本执行权限并运行。基本使用示例（以安装 Debian 12 为例）：</p>
<pre><code class="language-bash">bash reinstall.sh debian12 --password *****
</code></pre>
<p><strong>参数说明：</strong></p>
<ul>
<li><code>debian12</code>: 指定安装 Debian 12。同样可以换成其他支持的系统，比如 <code>ubuntu22.04</code>。</li>
<li><code>--password *****</code>: 设置root用户的密码。请将 <code>*****</code> 替换为你自己的密码！</li>
</ul>
<p>这个脚本执行后也会自动进行DD安装。等待安装完成后，就可以用你设置的新密码登录新系统了。</p>
<h2>重装后的小贴士</h2>
<p>系统装好了，可能还有一些小地方可以优化一下，让你的VPS用起来更顺手。</p>
<h3>防止服务商面板关机重启不正常</h3>
<p>有时候你会发现，通过服务商的控制面板进行关机或重启操作时，VPS的状态显示可能不太准确，或者操作不生效。这可能是因为缺少了虚拟机代理工具。安装 <code>qemu-guest-agent</code> 可以改善这个问题。</p>
<pre><code class="language-bash">apt update &amp;&amp; apt install -y qemu-guest-agent
</code></pre>
<p>安装完成后，通常需要重启一下VPS才能生效。</p>
<h3>让面板换IP、修改密码等功能正常工作</h3>
<p>如果你的服务商面板提供了换IP、修改密码等功能，并且你希望这些功能在新系统上也能正常使用，那么安装 <code>cloud-init</code> 可能会有帮助。<code>cloud-init</code> 是一个云实例初始化工具，很多服务商的面板功能依赖它来与VPS通信。</p>
<pre><code class="language-bash">apt update &amp;&amp; apt install -y cloud-init
</code></pre>
<p>安装完成后，同样可能需要重启VPS。</p>
<h2>总结</h2>
<p>好啦，这就是关于VPS使用DD脚本重装系统的一些小技巧和常用脚本。记住，DD操作会清除硬盘上的所有数据，所以操作前一定要备份重要文件，尤其是前面提到的 <code>/etc/resolv.conf</code> 文件。</p>
<p>选择一个你喜欢的脚本，按照步骤来，很快你就能拥有一个干净、全新的系统环境啦！希望这篇文章对你有帮助！</p>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.hrk386.com/archives/49/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">49</post-id>	</item>
		<item>
		<title>VPS重装系统后的用户管理增强VPS安全性：告别Root，创建你的专属操作用户VPS重装系统后的用户管理</title>
		<link>https://blog.hrk386.com/archives/40</link>
					<comments>https://blog.hrk386.com/archives/40#respond</comments>
		
		<dc:creator><![CDATA[はるこHaruko]]></dc:creator>
		<pubDate>Thu, 22 May 2025 02:45:36 +0000</pubDate>
				<category><![CDATA[技术指南]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[常用命令]]></category>
		<category><![CDATA[数据安全]]></category>
		<category><![CDATA[用户管理]]></category>
		<guid isPermaLink="false">https://blog.hrk386.com/?p=40</guid>

					<description><![CDATA[嘿，大家好！今天想跟大家聊聊一个关于VPS安全的小技巧，但我觉得它非常重要，那就是——别再直接用Root用户操 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>嘿，大家好！今天想跟大家聊聊一个关于VPS安全的小技巧，但我觉得它非常重要，那就是——别再直接用Root用户操作你的服务器啦！</p>



<p>Root用户权限太高了，一个不小心或者被恶意利用，后果可能不堪设想。所以，更安全的做法是创建一个普通用户，然后只在需要的时候通过 <code>sudo</code> 命令来获取Root权限。这样即使这个普通用户出了问题，也不会直接影响到整个系统。</p>



<p>下面，我就根据我自己的实践经验，手把手教你如何创建一个新的用户，并进行一些必要的配置，让你的VPS更安全。</p>



<p><strong>前提：</strong> 你需要通过Root用户登录到你的VPS来执行下面的初始设置。</p>



<h2 class="wp-block-heading">第一步：确认并安装 <code>sudo</code> 工具</h2>



<p>大多数现代Linux发行版都预装了 <code>sudo</code> 了，但以防万一，我们还是先确认一下。如果你的系统上没有，需要先安装它。</p>



<p>通常，安装命令是这样的（根据你的系统选择）：</p>



<ul class="wp-block-list">
<li><strong>Debian/Ubuntu:</strong><br><pre><code class="language-bash">apt update<br>apt install sudo</code></pre><br></li>



<li><strong>CentOS/RHEL/Fedora:</strong><br><pre><code class="language-bash">yum install sudo<br># 或者对于较新的系统<br>dnf install sudo</code></pre><br></li>
</ul>



<h2 class="wp-block-heading">第二步：找到你的系统使用哪个用户组来管理 <code>sudo</code> 权限</h2>



<p>不同的Linux发行版可能会使用不同的用户组来赋予用户执行 <code>sudo</code> 命令的权限。最常见的是 <code>sudo</code> 或 <code>wheel</code>。我们需要确认一下你的系统用的是哪个。</p>



<p>运行这个命令：</p>



<pre class="wp-block-code"><code>grep -E 'sudo|wheel' /etc/group</code></pre>



<p>这个命令会查找 <code>/etc/group</code> 文件中包含 <code>sudo</code> 或 <code>wheel</code> 的行。</p>



<p><strong>输出示例：</strong></p>



<ul class="wp-block-list">
<li>如果看到类似 <code>sudo:x:27:</code> 这样的行，说明你的系统使用 <code>sudo</code> 组。</li>



<li>如果看到类似 <code>wheel:x:10:</code> 这样的行，说明你的系统使用 <code>wheel</code> 组。</li>
</ul>



<p>记下这个组名，下一步会用到。</p>



<h2 class="wp-block-heading">第三步：创建新用户并加入到 <code>sudo</code> 用户组</h2>



<p>现在，我们来创建那个用于日常操作的新用户。这里我以创建一个名为 <code>yaelee</code> 的用户为例，你需要把 <code>yaelee</code> 替换成你想要的名字。同时，根据上一步确认的组名，选择 <code>sudo</code> 或 <code>wheel</code>。</p>



<p>创建用户的命令是 <code>useradd</code>，加上 <code>-m</code> 参数是为了同时创建用户的主目录（<code>/home/yaelee</code>），<code>-G</code> 参数后面跟着的就是我们要把用户添加进去的 <code>sudo</code> 或 <code>wheel</code> 用户组。</p>



<ul class="wp-block-list">
<li>如果你的系统使用 <code>sudo</code> 组：<br><pre><code class="language-bash">sudo useradd -m -G sudo yaelee</code></pre><br></li>



<li>如果你的系统使用 <code>wheel</code> 组：<br><pre><code class="language-bash">sudo useradd -m -G wheel yaelee</code></pre><br></li>
</ul>



<p>执行完这个命令，用户 <code>yaelee</code> 就创建好了，并且拥有了通过 <code>sudo</code> 执行命令的潜力。</p>



<h2 class="wp-block-heading">第四步：为新用户配置SSH公钥登录</h2>



<p>这是非常关键的一步，我们不希望新用户通过密码登录（因为密码容易被破解），而是通过更安全的SSH密钥对登录。你需要把你本地电脑生成的SSH公钥放到服务器上新用户的家目录下的 <code>.ssh/authorized_keys</code> 文件里。</p>



<p>首先，以新用户的身份创建 <code>.ssh</code> 目录（注意权限问题，所以我们用 <code>sudo -u yaelee</code> 来执行）：</p>



<pre class="wp-block-code"><code>sudo -u yaelee mkdir -p /home/yaelee/.ssh</code></pre>



<p><code>-p</code> 参数确保即使父目录 <code>/home/yaelee</code> 不存在（虽然上一步 <code>-m</code> 已经创建了），这个命令也不会出错。</p>



<p>然后，编辑 <code>authorized_keys</code> 文件，将你的公钥粘贴进去。同样，我们用 <code>sudo -u yaelee</code> 来确保文件是以 <code>yaelee</code> 用户的身份创建和编辑的。</p>



<pre class="wp-block-code"><code>sudo -u yaelee nano /home/yaelee/.ssh/authorized_keys</code></pre>



<p>在打开的编辑器里，粘贴你的公钥内容。公钥通常长这样（以 <code>ssh-ed25519</code> 或 <code>ssh-rsa</code> 开头）：</p>



<pre class="wp-block-code"><code>ssh-ed25519 *******</code></pre>



<p>粘贴完成后，保存并关闭文件（nano 编辑器通常是按 <code>Ctrl + X</code>，然后按 <code>Y</code> 确认保存，回车确认文件名）。</p>



<p><strong>重要：</strong> 确保 <code>.ssh</code> 目录和 <code>authorized_keys</code> 文件的权限设置正确。通常，<code>.ssh</code> 目录的权限应该是 <code>700</code> (只有用户自己有读写执行权限)，<code>authorized_keys</code> 文件的权限应该是 <code>600</code> (只有用户自己有读写权限)。虽然 <code>sudo -u</code> 创建时权限通常是对的，但最好还是检查一下：</p>



<pre class="wp-block-code"><code>sudo -u yaelee chmod 700 /home/yaelee/.ssh
sudo -u yaelee chmod 600 /home/yaelee/.ssh/authorized_keys</code></pre>



<h2 class="wp-block-heading">第五步：为新用户设置密码（可选但推荐）</h2>



<p>虽然我们后面会禁用密码登录SSH，但为用户设置一个密码仍然是一个好的习惯，以备不时之需（比如本地登录）。</p>



<pre class="wp-block-code"><code>passwd yaelee</code></pre>



<p>系统会提示你输入并确认新用户的密码。</p>



<h2 class="wp-block-heading">第六步：更改新用户的默认Shell为Bash</h2>



<p>默认情况下，新用户的Shell可能是 <code>/bin/sh</code>，它可能是 <code>/bin/bash</code> 的一个简化版本或者指向其他Shell。大多数人更习惯使用功能更强大的 <code>/bin/bash</code>。</p>



<p>要修改用户的默认Shell，需要编辑 <code>/etc/passwd</code> 文件。这个文件包含了系统中所有用户的信息。</p>



<pre class="wp-block-code"><code>nano /etc/passwd</code></pre>



<p>找到你新创建的用户 <code>yaelee</code> 的那一行。它看起来会像这样（注意最后一部分）：</p>



<pre class="wp-block-code"><code>yaelee:x:1000:1000::/home/yaelee:/bin/sh</code></pre>



<p>将这一行的最后一部分，也就是 <code>/bin/sh</code>，修改为 <code>/bin/bash</code>：</p>



<pre class="wp-block-code"><code>yaelee:x:1000:1000::/home/yaelee:/bin/bash</code></pre>



<p>保存并关闭文件。下次 <code>yaelee</code> 用户登录时，就会使用 <code>/bin/bash</code> 作为默认Shell了。</p>



<h2 class="wp-block-heading">第七步：禁用SSH密码登录，只允许密钥登录</h2>



<p>为了进一步提高安全性，我们应该禁止通过密码进行SSH登录，只允许使用密钥对登录。</p>



<p>编辑SSH服务器的配置文件 <code>/etc/ssh/sshd_config</code>：</p>



<pre class="wp-block-code"><code>nano /etc/ssh/sshd_config</code></pre>



<p>找到 <code>PasswordAuthentication</code> 这一行。它前面可能有一个 <code>#</code> 符号表示被注释掉了。</p>



<pre class="wp-block-code"><code>#PasswordAuthentication yes</code></pre>



<p>取消前面的 <code>#</code>，并将 <code>yes</code> 改为 <code>no</code>：</p>



<pre class="wp-block-code"><code>PasswordAuthentication no</code></pre>



<p>你可能还需要检查并确保 <code>PubkeyAuthentication yes</code> 这一行没有被注释掉（通常是默认开启的）。</p>



<p>保存并关闭文件。然后，重启SSH服务使配置生效：</p>



<pre class="wp-block-code"><code>systemctl restart sshd</code></pre>



<p>或者对于一些旧系统：</p>



<pre class="wp-block-code"><code>service sshd restart</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>重要警告：</strong> 在执行这一步之前，请务必确认你已经成功通过SSH密钥登录过新创建的用户！否则一旦禁用密码登录，你可能会无法再次登录服务器（除非你有其他登录方式，比如VNC或控制台）。强烈建议先保持Root用户的SSH连接打开，用新用户开一个新终端窗口测试登录成功后再继续。</p>
</blockquote>



<h2 class="wp-block-heading">第八步：配置 <code>sudo</code> 免密码执行（可选）</h2>



<p>这一步是让你的日常操作更方便，通过 <code>sudo</code> 执行命令时不再需要输入密码。<strong>请注意，这会稍微降低安全性，因为任何能够以该用户身份执行命令的人都可以无需密码地获得Root权限。</strong> 如果你对安全性要求极高，可以跳过这一步。</p>



<p>编辑 <code>sudo</code> 的配置文件，推荐使用 <code>visudo</code> 命令，它会在保存前检查语法，避免配置错误导致 <code>sudo</code> 无法使用：</p>



<pre class="wp-block-code"><code>visudo</code></pre>



<p>找到允许 <code>sudo</code> 用户组执行 <code>sudo</code> 的那一行。根据你第二步确认的组名，它可能是：</p>



<pre class="wp-block-code"><code>%sudo   ALL=(ALL:ALL) ALL</code></pre>



<p>或者</p>



<pre class="wp-block-code"><code>%wheel   ALL=(ALL:ALL) ALL</code></pre>



<p>将这一行修改为在 <code>ALL</code> 前面加上 <code>NOPASSWD:</code>：</p>



<pre class="wp-block-code"><code>%sudo   ALL=(ALL:ALL) NOPASSWD:ALL</code></pre>



<p>或者</p>



<pre class="wp-block-code"><code>%wheel   ALL=(ALL:ALL) NOPASSWD:ALL</code></pre>



<p>保存并关闭文件（<code>visudo</code> 在nano模式下也是 <code>Ctrl + X</code>, <code>Y</code>, 回车）。</p>



<p>现在，使用 <code>yaelee</code> 用户登录后，执行 <code>sudo</code> 命令就不需要输入密码了。</p>



<h2 class="wp-block-heading">测试一下！</h2>



<p>配置完成后，强烈建议你不要急着关闭Root用户的SSH连接。先打开一个新的终端窗口，尝试使用你新创建的用户和SSH密钥进行登录：</p>



<pre class="wp-block-code"><code>ssh yaelee@你的VPS的IP地址</code></pre>



<p>如果能够成功登录，恭喜你！然后尝试执行一个需要Root权限的命令，比如更新软件包列表：</p>



<pre class="wp-block-code"><code>sudo apt update # 或者 sudo yum update / sudo dnf update</code></pre>



<p>如果你配置了 <code>NOPASSWD</code>，这个命令应该直接执行，不需要输入密码。如果没有配置 <code>NOPASSWD</code>，系统会提示你输入 <code>yaelee</code> 用户的密码。</p>



<p>确认新用户和 <code>sudo</code> 都能正常工作后，你就可以放心地退出Root用户了。</p>



<h2 class="wp-block-heading">总结</h2>



<p>通过上面这几个步骤，我们就成功地为VPS创建了一个用于日常操作的非Root用户，并通过SSH密钥增强了登录安全性，同时保留了通过 <code>sudo</code> 在需要时获取Root权限的能力。这大大降低了Root账户直接暴露在外的风险，让你的VPS更加安全。</p>



<p>希望这篇文章对你有帮助！</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.hrk386.com/archives/40/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">40</post-id>	</item>
	</channel>
</rss>
