<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/rss/stylesheet/" type="text/xsl"?>
<rss xmlns:content='http://purl.org/rss/1.0/modules/content/' xmlns:taxo='http://purl.org/rss/1.0/modules/taxonomy/' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:itunes='http://www.itunes.com/dtds/podcast-1.0.dtd' xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:atom='http://www.w3.org/2005/Atom' xmlns:podbridge='http://www.podbridge.com/podbridge-ad.dtd' version='2.0'>
<channel>
  <title>奇诺分享 | blog.ccino.cc - 重在分享</title>
  <language>zh-cn</language>
  <generator>microfeed.org</generator>
  <itunes:type>episodic</itunes:type>
  <itunes:explicit>false</itunes:explicit>
  <atom:link rel="self" href="https://blog-ccino-cc.pages.dev/rss/" type="application/rss+xml"/>
  <link>https://blog.ccino.cc</link>
  <itunes:author>奇诺分享</itunes:author>
  <itunes:image href="https://cdn-blog-ccino-cc.ccino.cc/blog-ccino-cc/production/images/channel-6ebae07c242a357bee27d74ca3e4b3ce.png"/>
  <image>
    <title>奇诺分享 | blog.ccino.cc - 重在分享</title>
    <url>https://cdn-blog-ccino-cc.ccino.cc/blog-ccino-cc/production/images/channel-6ebae07c242a357bee27d74ca3e4b3ce.png</url>
    <link>https://blog.ccino.cc</link>
  </image>
  <copyright>©2024</copyright>
  <item>
    <title>VPS 基本配置：新买的 VPS 怎么整备和调教？</title>
    <guid>ez56GfIVr5S</guid>
    <pubDate>Wed, 02 Oct 2024 11:48:20 GMT</pubDate>
    <itunes:explicit>false</itunes:explicit>
    <description>
      <![CDATA[<p>拿到新机器，咱们二话不说，先 ping 一下 IP，能否连通。连不通的话，可能是被封锁了，新机一般可以免费换 IP，换完接着 ping。</p><p>连通后看看延迟和丢包，延迟太大就得考虑。可能这个机房，它不适合你。</p><p>大家的地区，运营商，节点线路都不大一样，冷暖自知。</p><p>能接受的话，就 ssh 上去，开始跑测试脚本，是骡子是马，还得看数据。跑完测试觉得机子不行，应该还能赶在截止时间之前退单退款。</p><p><em>有些鸡贼的商家，使用流量超过 10G，就不给退单退款，这种就别跑测速了。</em></p><p>测速脚本一跑，几十个 GB 就没了，到时候退不了，只能砸自己手里。</p><p><strong>· · ·</strong></p><p><br></p><h2><strong>一、脚本测试</strong></h2><p>先别急着装什么面板，测完性能再说，直接上脚本。</p><h3>1. yabs 脚本</h3><p>yabs 是一个比较常用的综合测试脚本，权威性比较高，一般用来看最后的 cpu 得分。</p><pre class="ql-syntax" spellcheck="false">wget -qO- yabs.sh | bash

</pre><h3>2. bench.sh 一键测试脚本</h3><p>bench.sh 也是一个综合测试脚本，历史比较久，大佬一直在维护。</p><p>原作者链接：<a href="https://github.com/teddysun/across/blob/master/bench.sh" rel="noopener noreferrer" target="_blank">github.com/teddysun/across</a></p><pre class="ql-syntax" spellcheck="false">wget -qO- bench.sh | bash

</pre><h3>3. 线路测试</h3><p>besttrace 是专门测试回国线路的脚本，可以看到连接国内几大城市的节点线路和对应延迟。</p><pre class="ql-syntax" spellcheck="false">wget -qO- git.io/besttrace | bash

</pre><h3>4. 网速测试</h3><p>network-speed，测试 vps 到全球的连接速度，节点比较多，比较耗流量，成功测完得 20G 往上。</p><pre class="ql-syntax" spellcheck="false">wget -qO- network-speed.xyz | bash

</pre><h3>5. 硬盘测试</h3><p>这条测试是调用系统的命令，看看到底是 HDD、SSD 还是 NVME 硬盘。</p><pre class="ql-syntax" spellcheck="false">dd if=/dev/zero of=256 bs=64K count=4K oflag=dsync

</pre><p>测试结果参考：1-2M/s 的是 HDD；20-30M/s 就普通的 SSD；80M/s 以上的是好机子。</p><h3>6. 内存超售检测</h3><p>部分商家会超售内存，可以用该脚本检测。</p><p>至于超售 CPU、带宽，这个就比较稀松平常了。</p><p>（脚本的安全性未知，建议看完重装系统部分，再决定要不要跑。）</p><pre class="ql-syntax" spellcheck="false">curl https://raw.githubusercontent.com/uselibrary/memoryCheck/main/memoryCheck.sh | bash

</pre><h3>7. 流媒体解锁和 OpenAI 解锁测试</h3><p>检测 VPS 的 IP 是否能够用来开通流媒体、OpenAI 等订阅服务。（同上，脚本安全性未知。）</p><pre class="ql-syntax" spellcheck="false">bash &lt;(curl -L -s https://netflix.dad/detect-script)

</pre><h3>8. IP 检测</h3><p>如果对 IP 这个比较看重，怪文再推荐两个小工具，简单调查一下手上的 IP。</p><h4>1) IP 位置</h4><p><a href="https://whatismyipaddress.com/ip" rel="noopener noreferrer" target="_blank">whatismyipaddress.com</a></p><p>whatismyipaddress 这个网站可以查到你 VPS 的 IP 所在地，数据比较精准。</p><h4>2) IP 纯净度</h4><p><a href="https://scamalytics.com/ip" rel="noopener noreferrer" target="_blank">scamalytics.com</a></p><p>这个网站会返回一个分数和一个风险等级，欺诈风险分数一般低于 50 就好。当然，分数越低越好，0 分最好。</p><p><em>scamalytics 可以查到 IP 的纯净程度，这点很重要！</em></p><p>IP 越干净，越容易过流媒体等服务的订阅风控，也不容易弹 Google 和 Cloudflare 的人机验证弹窗和过渡页，代理的时候体验会更好。</p><p>比如，注册 OpenAI 账号，开通 Plus 订阅，都是很看重 IP 欺诈分的，分数太高的话，申请 API 和 Plus 可能不给通过。</p><p>当然，也可以选择其他方式进行代偿，比如套 wrap，或者用其他优质节点开通服务，后面换回原 IP 继续用，基本没啥问题，除非原 IP 被墙了。</p><p><strong>· · ·</strong></p><p><br></p><h2><strong>二、更新系统</strong></h2><h3>1. 重装系统</h3><p>建议先跑完测试脚本，再重装系统，也是为了规避脚本的安全性问题。可别以为大家用的脚本就很安全哦，还是别轻信外部脚本的好。</p><p>有些人喜欢跑各种整合过的一键脚本，也不看脚本里面写的啥，难搞。</p><p>一般来说，VPS 厂商给你的默认操作系统，很可能不是你想要的发行版或者版本号，建议用厂商的面板重装下系统。</p><p>不太建议自己装些厂商没提供的系统，容易被抓到把柄。</p><h4>系统的选择</h4><p>服务器端发行版选择很多，Debian，Ubuntu，Rocky Linux，AlmaLinux，Fedora 等等，甚至 CentOS，OpenSUSE Leap 都行，选自己熟悉的就好。</p><p>关于各个发行版的特点和取舍，这里先占个坑，后面来填吧。</p><p>反正有条件的直接上 Red Hat Enterprise Linux（RHEL）就好，免费的哪有这个好啊。</p><p>Ubuntu 因为资料好找，使用起来方便，稳定性也不错，所以怪文一直用 Ubuntu。</p><p>但自从 Canonical 往 Ubuntu 22.04.3 LTS 里面塞广告，有些广告还无法被移除，吃相有点难看，这种行径和国内厂商有得一拼了。</p><p>目前还在寻找平替，因为系统还没换，下面的 shell 命令，基本都是基于 Ubuntu 的版本。</p><p>如果装的是 Fedora 和 RHEL 系的发行版，比如 CentOS 之类的，请将下面命令中的 apt 用 yum 替换。</p><h3>2. 更新列表升级应用</h3><pre class="ql-syntax" spellcheck="false">apt update &amp;&amp; apt upgrade &amp;&amp; apt full-upgrade &amp;&amp; apt autoremove

</pre><h3>3. 基础工具包</h3><pre class="ql-syntax" spellcheck="false">apt install vim curl unzip ufw

</pre><p><strong>· · ·</strong></p><p><br></p><h2><strong>三、安全配置</strong></h2><p>小白最容易忽略的就是安全配置，弱密码什么的就不说了，说一下核心的配置。</p><h3>1. 添加新用户</h3><p>不建议每次都用 root 账号登录，创建新用户并给 root 权限比较好。</p><p>首先，添加新用户，并自动创建对应的组，然后根据提示设置密码：</p><pre class="ql-syntax" spellcheck="false">adduser 新用户名

</pre><p>设置新密码之后，继续。除了用户名，其他敲回车默认即可。</p><p>添加新用户到 sudo 用户组，就可以使用 sudo 命令了：</p><pre class="ql-syntax" spellcheck="false">usermod -aG sudo 新用户名
Copy
// 相关补充
exit            // 用户退出登录
passwd p        // 重设密码

</pre><h3>2. 修改 SSH 登录端口</h3><p>更改端口前，建议先把 22 端口也添加上，等 ssh 能通过其他端口连接后，再注释掉22端口。</p><p>先打开配置文件：</p><pre class="ql-syntax" spellcheck="false">vim /etc/ssh/sshd_config

</pre><p>找到这行：</p><blockquote><em>Port 22</em></blockquote><p>然后在后面追加想要的端口号：</p><blockquote><em>Port 端口号</em></blockquote><p>端口号的范围是 0 到 65535，数字别超了。</p><p>加完端口重启 SSHD 服务，让配置生效：</p><pre class="ql-syntax" spellcheck="false">systemctl restart sshd.service

</pre><p>如遇到 ssh 连接总自己断开，还可以继续添加添加配置：</p><blockquote><em>ClientAliveInterval 30</em></blockquote><blockquote><em>ClientAliveCountMax 6</em></blockquote><h3>3. SSH 免密登录</h3><p>Windows 用户在 /.ssh 目录生成公钥和私钥：</p><pre class="ql-syntax" spellcheck="false">ssh-keygen

</pre><p>再在 vps 上的生成用户的公钥和私钥：</p><pre class="ql-syntax" spellcheck="false">ssh-keygen

</pre><p>创建 authorized_keys 文件，把 Win 上的公钥复制进 authorized_keys：</p><pre class="ql-syntax" spellcheck="false">cd /当前用户目录/.ssh
vim authorized_keys

</pre><p>给 authorized_keys 文件设置权限：</p><pre class="ql-syntax" spellcheck="false">chmod 600 /当前用户目录/.ssh/authorized_keys

</pre><p>重启 ssh：</p><pre class="ql-syntax" spellcheck="false">systemctl restart sshd

</pre><p>最后，在本地测试配置是否成功：</p><pre class="ql-syntax" spellcheck="false">ssh 用户名@IP

</pre><p>再在 SSH 工具里配置一下登录凭证，就可以免密登录了。</p><h3>4. 限制 root 用户直接 ssh 登录或者密码登录</h3><p>修改配置文件：</p><pre class="ql-syntax" spellcheck="false">vim /etc/ssh/sshd_config

</pre><p>加入内容（限制 root 用户直接 ssh 登录，换言之，后面得用新用户登录）：</p><blockquote><em>PermitRootLogin no</em></blockquote><p>如果只是想限制 root 用户密码登录，只能用密钥登录，则需要修改配置文件内容为：</p><blockquote><em>PermitRootLogin without-password</em></blockquote><p>使修改生效：</p><pre class="ql-syntax" spellcheck="false">systemctl restart sshd

</pre><p>修改文件权限，把 .ssh 目录设为 700：</p><pre class="ql-syntax" spellcheck="false">chmod 700 /root/.ssh

</pre><h3>5. 启用防火墙</h3><p>检查防火墙的状态：</p><pre class="ql-syntax" spellcheck="false">ufw status verbose

</pre><p>所有可用的应用程序配置：</p><pre class="ql-syntax" spellcheck="false">ufw app list

</pre><p>查找指定配置文件包含的防火墙规则：</p><pre class="ql-syntax" spellcheck="false">ufw app info 'Nginx Full'

</pre><p>启用防火墙之前，先允许 ssh 应用的默认端口：</p><pre class="ql-syntax" spellcheck="false">ufw allow ssh

</pre><p>如果 ssh 监听其他端口，就打开那个端口：</p><pre class="ql-syntax" spellcheck="false">ufw allow 端口

</pre><p>还可以指定协议：</p><pre class="ql-syntax" spellcheck="false">ufw allow 端口/协议

</pre><p>启用防火墙（启用之前一定要保证，SSH 的端口已经开了，不然登出之后就登不进来了！）</p><pre class="ql-syntax" spellcheck="false">ufw enable

</pre><p>删除防火墙规则：</p><pre class="ql-syntax" spellcheck="false">ufw delete allow 端口/tcp
ufw delete 防火墙规则编号

</pre><p>关闭防火墙：</p><pre class="ql-syntax" spellcheck="false">ufw disable

</pre><p>重置防火墙设置并停止：</p><pre class="ql-syntax" spellcheck="false">ufw reset

</pre><p><strong>· · ·</strong></p><p><br></p><h2><strong>四、基本配置</strong></h2><h3>1. 设置时区</h3><p>先看下系统的时区：</p><pre class="ql-syntax" spellcheck="false">timedatectl show

</pre><p>再按需修改，下面东八区的代号：</p><pre class="ql-syntax" spellcheck="false">timedatectl set-timezone Asia/Shanghai

</pre><h3>2. 修改登录欢迎语（可选项）</h3><p>Ubuntu 20.04 登录总提示 New release '22.04.3 LTS' available，如果不想升级，可以关掉登录后的动态消息。</p><pre class="ql-syntax" spellcheck="false">vim /etc/pam.d/sshd

</pre><p>然后注释掉下面这两行：</p><blockquote><em>session optional pam_motd.so motd=/run/motd.dynamic</em></blockquote><blockquote><em>session optional pam_motd.so noupdate</em></blockquote><p>Ubuntu 22.04 每次登录都弹个很长的欢迎语，里面还有广告，难受。</p><p>好消息是，动态消息也可以像上面 Ubuntu 20.04 那样彻底禁止掉。</p><p>坏消息是，其他夹在 apt 命令中的广告就不那么好弄了。</p><p>不想完全关闭动态消息的话，也有些能做的事，比如欢迎语里面的 K8S 推广内容倒是可以手动关闭。</p><pre class="ql-syntax" spellcheck="false">vim /etc/default/motd-news

</pre><p>把文件里的 ENABLED=1 改成 ENABLED=0 就行。</p><h3>3. 装面板（可选项）</h3><p>如果手上的机器多，或者对命令行终端不感冒，也可以考虑装个面板，比如：1Panel、宝塔之类的。</p><p>面板安装和使用，又可以写一篇长文了，有需要的手动搜一下吧。</p><p><strong>· · ·</strong></p><p><br></p><h2><strong>五、科学配置（可选项）</strong></h2><h3>1. BBR 加速</h3><p>如果系统不支持 BBR2 或者 BBR Plus，配置 BBR 加速就行了。</p><pre class="ql-syntax" spellcheck="false">echo "net.core.default_qdisc=fq" &gt;&gt; /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" &gt;&gt; /etc/sysctl.conf
sysctl -p

</pre><p>验证是否成功：</p><pre class="ql-syntax" spellcheck="false">sysctl net.ipv4.tcp_available_congestion_control
lsmod | grep bbr

</pre><p>如果系统支持 BBR2 或者 BBR Plus 的话，可以用一键脚本装内核，开启 BBR2，至于安全性，那就不清楚了。</p><h3>2. WARP</h3><p>WARP 是 Cloudflare 提供的网络流量安全及加速服务，它基于 WireGuard，能够帮你通过连接到 Cloudflare 的边缘节点，实现隐私保护及链路优化。</p><h3>3. WireGuard</h3><p>如果要用 WARP，那肯定要装 WireGuard。</p><p>WARP 的安装，又可以写一篇博文了，有需要的手动搜一下吧。</p><h3>4. V2Ray</h3><p>这个之前整过，就写出来把，用的是官方脚本：<a href="https://github.com/v2fly/fhs-install-v2ray" rel="noopener noreferrer" target="_blank">https://github.com/v2fly/fhs-install-v2ray</a></p><p>V2Ray 的安装倒是很简单：</p><pre class="ql-syntax" spellcheck="false">bash &lt;(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)

</pre><p>安装后就可以启动了，但是建议先改下配置文件。（配置内容根据官方的模板，做下调整就好）</p><pre class="ql-syntax" spellcheck="false">vim /usr/local/etc/v2ray/config.json

</pre><p>改好配置后，先启动测试下：</p><pre class="ql-syntax" spellcheck="false">sudo systemctl daemon-reload
sudo systemctl start v2ray

</pre><p>查看服务状态：</p><pre class="ql-syntax" spellcheck="false">systemctl status v2ray

</pre><p>开机自启，让系统启动时引导 v2ray 启动：</p><pre class="ql-syntax" spellcheck="false">sudo systemctl enable v2ray

</pre><p>反悔了，不让系统启动时引导 v2ray 启动：</p><pre class="ql-syntax" spellcheck="false">systemctl disable v2ray

</pre><p>停止服务：</p><pre class="ql-syntax" spellcheck="false">systemctl stop v2ray

</pre><p>重新加载：</p><pre class="ql-syntax" spellcheck="false">systemctl reload v2ray

</pre><p>v2ray 默认的配置路径：</p><blockquote><em>/usr/local/etc/v2ray/config.json</em></blockquote><p>v2ray 默认的日志路径：</p><blockquote><em>/var/log/v2ray/access.log</em></blockquote><blockquote><em>/var/log/v2ray/error.log</em></blockquote><p>当然，如果嫌手动配置麻烦的话，也可以选择一键安装和引导配置的脚本，比如下面的这个（安全性未知）：</p><pre class="ql-syntax" spellcheck="false">bash &lt;(wget -qO- -o- https://git.io/v2ray.sh)

</pre><p><strong>· · ·</strong></p><p><br></p><h2><strong>六、推荐软件（可选项）</strong></h2><h3>1. Docker 安装</h3><p>现在干点啥都喜欢上 Docker，服务基本都扔 Docker 里面了，有需要的建议先安上，挺省心的。</p><pre class="ql-syntax" spellcheck="false">curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

</pre><p>看看安装是否成功：</p><pre class="ql-syntax" spellcheck="false">docker --version

</pre><p>补充一下，这个脚本是官方的，会自动安装 Docker Compose 组件，调用命令是 docker compose。</p><p>如果看到别人用的命令是 docker-compose，那替换成&nbsp;docker compose&nbsp;就好，不必再装一个 docker-compose。</p><h3>2. Nginx 安装</h3><p>把 Nginx 放 Docker 当然也可以，但是对于这种入口级别的中间件，个人还是习惯用原生的。</p><p>安装非常的简单：</p><pre class="ql-syntax" spellcheck="false">sudo apt install nginx

</pre><p>看看成功没有：</p><pre class="ql-syntax" spellcheck="false">nginx -V

</pre><p>启动 Nginx：</p><pre class="ql-syntax" spellcheck="false">sudo systemctl daemon-reload
sudo systemctl start nginx

</pre><p>测一下：在浏览器通过 ip 加 80 端口访问，是否是 Nginx 默认欢迎页。</p><p>配置的话，一般直接去 /etc/nginx/conf.d 添加个文件，配一下就好了。</p><p>有静态网站，可以直接扔 /var/www/&nbsp;里面，也很方便。</p><p>Nginx 的维护，基本靠系统控制命令就能实现：</p><p>查看服务状态：</p><pre class="ql-syntax" spellcheck="false">systemctl status nginx

</pre><p>如果只修改了配置，Nginx 可以在不中断服务的情况下热加载，这个很好用：</p><pre class="ql-syntax" spellcheck="false">sudo systemctl reload nginx

</pre><p>开启自启，让系统启动时引导 Nginx 启动：</p><pre class="ql-syntax" spellcheck="false">systemctl enable nginx

</pre><p>反悔了，不让系统启动时引导 Nginx 启动：</p><pre class="ql-syntax" spellcheck="false">systemctl disable nginx

</pre><p>停用 nginx：</p><pre class="ql-syntax" spellcheck="false">systemctl stop nginx

</pre><h3>3. Nvm 安装</h3><p>Node.js 也是火的不行，经常看到一些开源工具，都是放 Node 里面跑。</p><p>有需要的也可以装上，但不建议直接装 Node.js，版本问题什么的太操心了，直接上 Nvm。</p><p>还有一点非常的坑，Node.js 对用户的权限要求有点变态，个人建议用 root 用户安装，启动也是。之前只用其他用户 sudo 安装，结果各种问题。</p><p>从 Github 拉取官方正式版：</p><pre class="ql-syntax" spellcheck="false">curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

</pre><p>安装 Nvm：</p><pre class="ql-syntax" spellcheck="false">source ~/.bashrc

</pre><p>再用 Nvm 安装 Node.js：</p><pre class="ql-syntax" spellcheck="false">nvm install node

</pre><p>看看安装成功没有：</p><pre class="ql-syntax" spellcheck="false">nvm --version
node --version
npm --version

</pre><p>后面就可以 npm 一把梭了，当然也可以装 yarn 和 pm2，看个人喜好。</p><p><strong>· · ·</strong></p><p><br></p><h2><strong>七、小结</strong></h2><p>最后，终于来到最关键的部分了。其实上面这些整备的过程，一个脚本就可以搞定。</p><p>可以说是一次编写，多次运行，以后拿到新 VPS，直接复制过去就能跑。</p><p>整备的脚本，发个出来，给大家做个参考吧：</p><h4>1) 软件更新</h4><pre class="ql-syntax" spellcheck="false">apt update &amp;&amp; apt upgrade &amp;&amp; apt full-upgrade &amp;&amp; apt autoremove

</pre><p>如果不想一直蹲那儿按确认，可以强制自动确认（风险还是有的，自己权衡吧）：</p><pre class="ql-syntax" spellcheck="false">apt update -y &amp;&amp; apt upgrade -y &amp;&amp; apt full-upgrade -y &amp;&amp; apt autoremove -y

</pre><h4>2) 创建和运行脚本</h4><p>把脚本复制进去（参考脚本在后面，往下翻）：</p><pre class="ql-syntax" spellcheck="false">vi ready.sh

</pre><p>给执行权限：</p><pre class="ql-syntax" spellcheck="false">chmod +x ready.sh

</pre><p>运行脚本：</p><pre class="ql-syntax" spellcheck="false">source ready.sh

</pre><p>脚本 ready.sh 的参考内容如下：</p><pre class="ql-syntax" spellcheck="false">#!/bin/bash

# 一键整备脚本

# 注意：命令里面的汉字部分，需要根据实际替换掉，根据自己的需要来取舍

# 1) 软件更新：建议提前单独执行，可能需要更新内核，重启机器什么的

# 2) 创建脚本：把脚本放到 VPS 上，赋予执行权限并执行。然后后面的步骤就可以完全自动化了

# 3) 安装基础工具
apt install ufw curl unzip

# 4) 添加新用户

# 添加用户和用户组
username="新用户"
password="密码"
useradd -m -s /bin/bash -G sudo "$username"

# 设置用户密码
echo "$username:$password" | chpasswd


# 5) 修改 SSH 登录端口

sed -i '/#Port 22/a Port 22\nPort 端口号' /etc/ssh/sshd_config

# 重启 sshd
systemctl restart sshd


# 6) shh 免密连 vps

public_key="本地公钥"

# 生成服务器用户的公钥和私钥
ssh-keygen

# 写入本地的私钥到文件
cat &lt;&lt;EOF &gt; /当前用户目录/.ssh/authorized_keys
$public_key
EOF

# 重启 sshd
chmod 600 /当前用户目录/.ssh/authorized_keys
systemctl restart sshd


# 7) 限制 root 用户用用密码登录（如果有设置 shh 免密登录的话）

# 使用 sed 替换文件中的内容
file="/etc/ssh/sshd_config"
search="PermitRootLogin yes"
replace="PermitRootLogin without-password"
sed -i "s/$search/$replace/" "$file"

# 重启 sshd
chmod 700 /当前用户目录/.ssh
systemctl restart sshd


# 8) 设置防火墙

# 开端口
ufw allow ssh
ufw allow 22
ufw allow 端口号

# 启用防火墙
ufw enable


# 9) 设置时区
timedatectl set-timezone 时区


# 10) 配置 BBR 加速
echo "net.core.default_qdisc=fq" &gt;&gt; /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" &gt;&gt; /etc/sysctl.conf
sysctl -p

</pre><p>跑完脚本验证一下配置，比如：新用户登录，root 用户无密码登录等，没问题就可以开始装应用干活了。</p><p><strong>· · ·</strong></p><p><br></p><h2><strong>七、相关</strong></h2><h3>补充说明</h3><p>如果是境内 VPS，可能需要镜像网站才能访问某些服务，有些额外的坑。</p>]]>
    </description>
    <link>https://blog.ccino.cc/i/new-vps</link>
    <itunes:episodeType>full</itunes:episodeType>
    <enclosure url="https://www.guai.win/notes/0003-new-vps" type="text/html"/>
  </item>
</channel>
</rss>