mokoの小站 - moko
type: channel
link: https://www.mokoc.net/author/1/
description: moko
items: 服务器上用 zsh 美化终端
items: 一年免费阿里云海外服务器一年200g单向/月
items: Caddy反代telegram bot api
items: PHP8.1安装，加Imagick扩展安装
items: AZURE区域对照表
items: 使用 acme.sh 配置自动续签 SSL 证书
items: 用 rclone 轻松备份文件 & 挂载云存储
items: 防止 SSH 爆破：启用密钥登录
items: Realm转发使用教程
items: 欢迎来到我的博客🎉

服务器上用 zsh 美化终端
type: item
date: 2026-01-24T14:52:00+08:00
description: 服务器终端美化：从 0 配置 Zsh + Oh My Zsh + Powerlevel10k + 常用插件适用场景：Linux 服务器（SSH 登录）、日常开发/运维目标：终端更好看、补全更舒服、输入更顺滑，同时尽量不拖慢启动速度。1. 安装 zsh（以及必要依赖）Ubuntu / Debiansudo apt update sudo apt install -y zsh git curlCentOS / Rocky / Almasudo yum install -y zsh git curl2. 将 zsh 设置为默认 shellchsh -s "$(which zsh)"退出并重新登录 SSH 后生效（重新打开终端也可以）。3. 安装 Oh My Zshsh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"安装完成后，主要配置文件在：~/.zshrc4. 安装并启用 powerlevel10k 主题（强烈推荐）4.1 下载主题git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \ "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"4.2 修改 ~/.zshrc 启用主题编辑 ~/.zshrc，找到 ZSH_THEME=... 并改成：ZSH_THEME="powerlevel10k/powerlevel10k"4.3 重新加载配置source ~/.zshrc首次加载会进入 powerlevel10k 的配置向导。5. 安装插件：zsh-autosuggestions + zsh-syntax-highlighting这两个插件属于“提升输入体验”的必装组合：zsh-autosuggestions：根据历史命令自动给出灰色建议（右键/方向键接受）zsh-syntax-highlighting：输入时实时语法高亮，错误命令会变色提示5.1 安装插件git clone https://github.com/zsh-users/zsh-autosuggestions \ "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions" git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \ "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting"5.2 启用插件（注意顺序）编辑 ~/.zshrc，找到 plugins=(...) 并改为：plugins=( git z sudo extract colored-man-pages zsh-autosuggestions zsh-syntax-highlighting )注意：zsh-syntax-highlighting 建议放在最后，避免加载顺序导致高亮失效。5.3 重新加载配置source ~/.zshrc6. 服务器建议配置（可选但推荐）6.1 关闭 Oh My Zsh 自动更新（服务器更稳）编辑 ~/.zshrc，加入：DISABLE_AUTO_UPDATE="true"6.2 常用 alias（按需添加）可以加在 $ZSH_CUSTOM/aliases.zsh 里vim $ZSH_CUSTOM/aliases.zshalias ll='ls -alh' alias cls='clear' alias gs='git status'然后：source ~/.zshrc6.3 设置终端支持中文export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-87. 字体说明（非常重要）powerlevel10k 想显示图标/符号，需要 Nerd Font。注意：字体是你本地终端装，不是服务器装。推荐字体：JetBrainsMono Nerd FontFiraCode Nerd Font如果你看到终端里出现乱码、方块、问号，基本就是字体没配置到 Nerd Font。8. 常见问题8.1 想重新配置 powerlevel10kp10k configure8.2 插件不生效怎么办？检查三点：插件目录是否存在：~/.oh-my-zsh/custom/plugins/zsh-autosuggestions~/.oh-my-zsh/cus…

一年免费阿里云海外服务器一年200g单向/月
type: item
date: 2025-06-22T23:25:00+08:00
description: 一、白嫖一年阿里云国际服务器免费试用阿里云国际提供免费试用，https://www.alibabacloud.com/free可以免费试用一年的ECS服务器，配置是 ecs.t5-lc1m1.small（1vcpu1G）、40GB 系统盘、1Mbps固定带宽但是注意注册账号必须是新用户，并且用户必须绑定信用卡注册账号加领取没啥好说的，随便找个邮箱加国外手机号，到官网注册账号，注册过程中选择个人认证，然后一步步完成就好，最后需要绑定信用卡，这里建议使用虚拟信用卡注册完成后，直接到试用界面领取即可，注意机器配置的选择，一定要满足他的配置才能免费试用一年，下图为我领取的试用二、调整带宽计费方式购买完成后发现机器的带宽只有1Mbps，实在是太小了，怎么办？这里我们可以使用CDT免费赠送每月200G单向流量，这个流量可以满足大部分人日常所需了开启CDT功能现在，我们来创建一个全新的、专门用于享受CDT免费流量的EIP。首先开启cdt功能首页搜索cdt，点击云数据传输，按照页面指引开启功能有几项默认没有开启，可以按需选择升级，比如IPV6网关，如果不升级的话，是没法开启公网IPV6的，根据页面内容可以看到CDT每月有220GB的公网流量，其中中国地域是20G，非中国地域是200GB。[scode type="yellow" size=""]！！！这里的中国地域和非中国地域指的是ECS所在的区域，不是指流量的流向[/scode]举例：如果有个国内的ECS开启了CDT，那么这个国内的ECS不管你是从国内访问还是重国外访问这个ECS，这个ECS的出网免费流量就是20G，如果在国外则是免费200G，超出免费额度就会按量计费，所以要注重流量的使用将按带宽计费修改为按量计费到实例页面点击包年包月实例更改带宽，选择降低固定带宽，下一个页面公网带宽选择按使用流量，带宽大小直接拉满200Mbps就行做到这一步其实应该已经是可以使用CDT的每月200G免费流量的，下面的内容是将公网ip转换成弹性公网ip，可以用于更换ecs服务器的ip三、进阶操作转换为弹性公网ip调整完毕带宽计费模式后，回到实例页面，找到公网IP，点击转换为弹性公网IP，按页面指引操作操作完成后这时候机器使用的应该就是弹性公网ip了，可以按照以下步骤更换机器ip更换机器ip创建新弹性公网ip在顶部搜索框搜索VPC，点击专有网络VPC，点击进入进入后，选择对应的地域，左边侧边栏选择弹性公网IP，点击创建弹性公网IP按照下图来创建，选择自己ECS对应的区域，线路类型选择BGP不要选择精品网络（精品网络用不了免费的200G流量），流量类型选择按使用流量计费，按CDT计费，带宽峰值直接拉满，其他选项默认，最后点击开通回到弹性公网IP选项卡，可以看到咱们创建的EIP，可以看到这个ip还没有绑定任何实例，这个页面应该还会有一个已经绑定了实例的ip，那个ip是我们机器原本的弹性公网ip，待会儿我们要删除原本的弹性公网ip，并绑定到我们新创建的弹性公网IP上，就可以实现更换ip了解绑原本的ip，换成咱们刚刚创建的ip按图中操作解绑原本的ip，并删除，绑定上咱们创建的ip，最后一定要保证只有一个ip并且ip是绑定在实例上的，因为弹性公网ip绑定实例不会收ip费用，如果有空闲的弹性公网ip，则会收取ip保留费用操作完毕后应该只有一个绑定了实例的ip最后在回到机器控制台查看弹性公网ip是否更改成功最后如果想要更换ip是一样的步骤，先去创建一个新弹性公网ip，然后解绑并删除原本的ip，换成新创建的ip开启公网ipv6若要开启公网ipv6访问首先要确保cdt页面的ipv6网关是升级的状态，然后到vpc控制台的专有网络界面开启ipv6，交换机的ipv6也要开（如果不需要使用ipv6可以忽略）开启ipv6后回到机器控制台，点击弹性网卡选项卡，再点击管理弹性网卡ip，点击增加ipv6地址即可完成为实例添加ipv6地址按上述操作后这时后机器应该已经有ipv6地址了，但是应该没法通过ipv6访问公网，因为没有开启ipv6公网访问，在vpc控制台按照下面图片步骤操作后，即可开通ipv6公网[scode type="yellow"]！！！前面cdt页面的ipv6网关一定要开启[/scode]四、注意事项需要注意根据阿里云cdt文档每月的免费流量，注意限量使用，不要用超了，超出后要0.100 USD/GB，注意定期观察账单，防止被返薅流量使用情况在cdt页面查看，注意限量使用,不要用超了,超出后要0.100 USD/GB免费试用时若出现要kyc可以从这个页面进去试用（来源于Linuxdo）：链接

Caddy反代telegram bot api
type: item
date: 2025-04-15T13:06:00+08:00
description: 编辑caddy配置文件，并写入以下配置配置如下domain { handle /bot* { reverse_proxy https://api.telegram.org { header_up Host api.telegram.org transport http { tls tls_insecure_skip_verify } } } handle / { respond "Telegram Bot API Proxy" 200 } log { output file /var/log/caddy/tgapi.log format console } }caddy会自动处理证书，并开启https

PHP8.1安装，加Imagick扩展安装
type: item
date: 2025-03-26T14:37:00+08:00
description: 首先安装编译PHP所需的依赖包：sudo apt update apt install build-essential autoconf automake libtool libsqlite3-dev pkg-config libjpeg-dev libpng-dev libxml2-dev libbz2-dev libcurl4-openssl-dev libssl-dev libffi-dev libwebp-dev libonig-dev libzip-dev imagemagick libmagickwand-dev git vim -y下载PHP 8.1源码cd /tmp wget https://www.php.net/distributions/php-8.1.32.tar.gz tar -zxf php-8.1.32.tar.gz cd php-8.1.32配置编译选项（包含所需扩展）./configure --prefix=/usr/local/php8.1 \ --with-config-file-path=/usr/local/php8.1/etc \ --with-mysqli \ --with-pdo-mysql \ --enable-fpm \ --with-bz2 \ --with-fpm-user=www-data \ --with-fpm-group=www-data \ --enable-fileinfo \ --enable-exif \ --enable-pcntl \ --enable-mbstring \ --with-curl \ --with-openssl \ --enable-sockets \ --enable-gd \ --with-jpeg \ --with-zlib \ --with-webp \ --with-zip \ --with-freetype \ --enable-opcache编译并安装make -j$(nproc) sudo make install创建配置文件sudo mkdir -p /usr/local/php8.1/etc sudo cp php.ini-production /usr/local/php8.1/etc/php.ini cd /usr/local/php8.1/etc cp php-fpm.conf.default php-fpm.conf cp php-fpm.d/www.conf.default php-fpm.d/www.conf添加到环境变量echo 'export PATH=/usr/local/php8.1/bin:/usr/local/php8.1/sbin:$PATH' | sudo tee -a /etc/profile source /etc/profile下载Imagick源码cd /tmp git clone https://github.com/Imagick/imagick.git cd imagick phpize ./configure --with-php-config=/usr/local/php8.1/bin/php-config make sudo make install配置PHP启用扩展编辑PHP配置文件添加扩展：sudo vi /usr/local/php8.1/etc/php.ini找到extension=部分，添加以下行：extension=imagick将php-fpm添加到系统服务管理vi /lib/systemd/system/php-fpm.service[Unit] Description=The PHP FastCGI Process Manager After=network.target [Service] Type=simple PIDFile=/usr/local/php8.1/var/run/php-fpm.pid ExecStart=/usr/local/php8.1/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php8.1/etc/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID [Install] WantedBy=multi-user.target

AZURE区域对照表
type: item
date: 2025-01-24T13:35:00+08:00
description: 这个就是为了方便查询，不至于每次都去Azure查找，创建实例里，只有38个，少了哪些呢？学生订阅不支持 卡塔尔中部 、美国东部 2 、欧洲西部 、美国中西部 、日本西部，这五个地区创建实例。选择上一代CPU，能跑满速。8370C为2.8GHz（19648），8171M为2.6GHz（14810），8272CL为2.6GHz（14726），2673 v4为2.3GHz（9705）序号国家区域英文中文缩写4CPU2CPU1美国东部East USVirginia弗吉尼亚US8272CL8272CL2美国东部 2East US 2Virginia弗吉尼亚US不可用不可用3美国中部Central USIowa爱荷华州US8272CL8370C4美国中北部North Central USIllinois伊利诺伊州US8272CL2673v45美国中南部South Central USTexas得克萨斯州US8370C8370C6美国中西部West Central USWyoming怀俄明州US不可用不可用7美国西部West USCalifornia加州圣何塞US8171M8171M8美国西部West US 2Washington华盛顿US不可用不可用9美国西部West US 3Arizona亚利桑那州凤凰城US8370C8370C10东亚East AsiaHong Kong香港HK8171M8171M11东南亚Southeast AsiaSingapore新加坡SG8272CL2673v412日本东部Japan EastTokyo, Saitama东京，埼玉县JP8171M不可用13日本西部Japan WestOsaka大阪JP不可用不可用14韩国中部Korea CentralSeoul首尔KR2673v42673v415印度中部Central IndiaTaipei浦那IN8272CL8272CL16印度南部South IndiaTaipei金奈IN8171M 17阿联酋北部UAE NorthDubai迪拜UAE8272CL 18澳大利亚中部Australia CentralCanberra堪培拉AU2673v4 19澳大利亚东部Australia EastNew South Wales新南威尔士州AU 20澳大利亚东南部Australia SoutheastVictoria维多利亚AU 21欧洲北部North EuropeIreland爱尔兰IE 22欧洲西部West EuropeNetherlands荷兰NL8272CL 23法国中部France CentralParis巴黎FR 24德国中西部Germany West CentralFrankfurt法兰克福DE 25意大利北部Italy NorthMilan米兰IT 26挪威东部Norway EastOslo奥斯陆NO8171M 27波兰中部Poland CentralWarsaw华沙PL 28瑞典中部Sweden CentralGävle耶夫勒SE 29瑞士北部Switzerland NorthZürich苏黎世CH 30英国南部UK SouthLondon伦敦UK2673v4 31巴西南部Brazil SouthSão Paulo State圣保罗州BR 32加拿大中部Canada CentralToronto多伦多CA 33加拿大东部Canada EastQuebec City魁北克市CA 8272CL34以色列中部Israel CentralIsrael以色列IL 35卡塔尔中部Qatar CentralDoha多哈QA 36南非北部South Africa NorthJohannesburg约翰内斯堡ZA 37韩国中部Korea South KR不可用不可用[font color="#DC143C"]文章转载于：https://blog.rnaan.com/post/33[/font]

使用 acme.sh 配置自动续签 SSL 证书
type: item
date: 2024-12-16T23:49:00+08:00
description: 本文将介绍使用 acme.sh 配置自动续签的 SSL 证书。自动签发和手工签发证书的对比功能自动签发手工签发有效期3 个月至 6 个月30 天到 1 年难度不容易容易友好度不友好友好适合懒人是否系统集成方便不方便后台管理大多数没有大多数都有所以我们建议如果您对服务器有完全控制权，那么自动签发的证书比较适合懒人运维，如果是长期运营的网站和项目，手工签发的证书对新手更友好，请自行选择。安装 acme.shacme.sh 是一个集成了 ACME 客户端协议的 Bash 脚本，作者是 @neilpangxa，按照官方文档说明，我们直接在 Linux 下安装。curl https://get.acme.sh | sh -s email=username@example.com如果是国内的机器，可以使用拖回源码直接安装：git clone --depth 1 https://github.com/acmesh-official/acme.sh.git cd acme.sh ./acme.sh --install -m username@example.com请注意替换 username@example.com 为你自己的邮箱，避免无法收到上游证书的邮件通知，比如 Let's Encrypt 偶尔会错发证书，然后就会邮件通知你，这时候就需要重新签发一次证书了。安装完成后重新加载 Bash：source ~/.bashrc然后也可以开启自动更新：acme.sh --upgrade --auto-upgrade选择默认 CA目前 acme.sh 支持 5 个正式环境 CA，分别是 Let's Encrypt、Buypass、ZeroSSL、SSL.com 和 Google Public CA，默认使用 ZeroSSL，如果需要更换可以使用如下命令：切换 Let's Encryptacme.sh --set-default-ca --server letsencrypt切换 Buypassacme.sh --set-default-ca --server buypass切换 ZeroSSLacme.sh --set-default-ca --server zerossl切换 SSL.comacme.sh --set-default-ca --server ssl.com切换 Google Public CAacme.sh --set-default-ca --server google如果已有 ZeroSSL 帐号，可以在后台控制面板拿到 API Key，然后执行如下命令apt install jq curl -s -X POST "https://api.zerossl.com/acme/eab-credentials?access_key=你的API_Key" | jq终端会输出如下内容{ "success": true, "eab_kid": "kid字符串", "eab_hmac_key": "hmac_key字符串", }然后手工添加帐号acme.sh --register-account --server zerossl \ --eab-kid kid字符串 \ --eab-hmac-key hmac_key字符串Google Public CA 需要按照官方博客申请内测，然后获取 Key。几个 CA 的简单对比功能LEBuypassZeroSSLSSL.comGoogle Public CA有效期90 天180 天90 天90 天90 天多域名支持支持，最多 5 个支持收费支持支持泛域名支持不支持支持收费支持支持Rate Limit有有收费无未知有GUI 管理否否有有无ECC 证书链否否有未知无客户支持社区收费收费收费收费简单来说，如果没有特殊需求，可以选择 Let's Encrypt，如果服务器在国内，可以选择 ZeroSSL 或 Buypass，如果愿意付费得到更好的服务和保障，可以选择 ZeroSSL 和 SSL.com，如果面向欧盟用户，可以选择 Buypass 和 ZeroSSL。注意：经过测试 Google Public CA 的 ACME 验证域名在国内是无法访问的，只有国外服务器才可以申请，申请完成后的证书并无影响。使用 HTTP 验证签发证书首先我们要做一下准备工作，假设你域名是 example.com，解析到你的服务器让其生效后，我们建立一个目录：mkdir -p /var/www/letsencrypt我们的目的是绑定 http://example.com/.well-known/acme-challenge 到这个目录。如果您用的 Nginx，那么新建一个配置文件：server { listen 80; l…

用 rclone 轻松备份文件 & 挂载云存储
type: item
date: 2024-10-23T00:26:00+08:00
description: 一、介绍在数字化时代，数据就是财富。无论是珍贵的照片、重要的工作文档，还是运行网站的代码，数据的安全性和可访问性都至关重要。对于 Linux 服务器而言，定期备份数据更是重中之重。今天要给大家介绍一款强大的工具—— rclone，它可以帮助你轻松地将服务器上的文件备份到各种云存储服务，同时还能将云存储挂载到本地，实现便捷的文件访问。rclone 是一款开源的命令行工具，支持包括 Google Drive、OneDrive、Dropbox、Amazon S3 等在内的众多云存储服务。它不仅可以进行简单的文件复制和同步，还提供了加密、压缩、带宽限制等高级功能，满足你对数据安全和效率的各种需求。使用 rclone，你可以：将服务器上的文件自动备份到云端，免除数据丢失的后顾之忧。将云存储挂载到本地，像访问本地硬盘一样访问云端文件。在不同的云存储服务之间迁移数据。加密和解密你的文件，保障数据安全。接下来，我们将逐步讲解 rclone 的安装、配置和使用方法，帮助你快速掌握这款强大的工具，让你的数据管理更加高效便捷！二、安装 rclone 并连接到你的云存储在开始使用 rclone 之前，我们需要先在 Linux 服务器上安装它，并配置连接到你的云存储服务。安装 rclonerclone 官方提供了便捷的安装脚本，适用于各种 Linux 发行版。打开你的服务器终端，执行以下命令即可自动完成安装：Bashcurl https://rclone.org/install.sh | sudo bash该脚本会自动检测你的系统类型，并下载相应的 rclone 版本。安装完成后，你可以运行 rclone version 命令来验证安装是否成功。配置 rclone使用官方引导程序配置rclone 支持连接到众多云存储服务，配置方法也略有不同。这里我们以 Google Drive 为例，演示如何配置 rclone 连接到你的 Google Drive 账户。创建 Google Cloud 项目并启用 Drive API访问 Google Cloud Console (https://console.cloud.google.com/)，创建一个新的项目。在项目中启用 Drive API。Google Cloud Platform console showing how to enable Drive API创建 OAuth 客户端 ID在 API 和服务 > 凭据页面，点击“创建凭据”>“OAuth 客户端 ID”。选择应用类型为“桌面应用”，并为其命名。点击“创建”，系统将生成客户端 ID 和客户端密钥，请妥善保存。配置 rclone在服务器终端运行 rclone config 命令。输入 n 创建新的远程连接，并为其命名（例如 gdrive）。选择存储类型为 drive。依次输入客户端 ID 和客户端密钥。其他选项可以按默认值设置，或根据你的需求进行调整。在 scope 选项中，选择 drive。选择 root_folder_id 为空。选择 service_account_file 为空。选择 y 进行高级配置，并将 access_token 和 refresh_token 留空。rclone 会自动打开浏览器窗口，请登录你的 Google 账户并授权 rclone 访问你的 Drive。授权完成后，复制浏览器地址栏中的 code 参数值，将其粘贴到终端中。配置完成后，rclone 会将配置信息保存到 ~/.config/rclone/rclone.conf 文件中。直接编辑配置文件输入 rclone config 后，会在 .config/rclone 目录中生成一个 rclone.conf 文件，如果我们熟悉 Rclone 配置的话，也可以直接新建编辑该文件，同样是可以生效的创建配置文件夹mkdir -p ~/.config/rclone编辑配置文件vim ~/.config/rclone/rclone.conf以cloudflare r2云存储为例[r2demo] type = s3 provider = Cloudflare access_key_id = abc123 secret_access_key = xyz456 region = auto endpoint = https://<accountid>.r2.cloudflarestorage.com [scode type="red" size=""]如果您使用的是具有对象级权限的令牌，则需要在配置中添加 no_check_bucket = true 以避免出错。[/scode]其他云存储服务的配置方法rclone 官方文档提供了详细的配置指南，涵盖了各种云存储服务。你可以参考文…

防止 SSH 爆破：启用密钥登录
type: item
date: 2024-10-10T23:22:00+08:00
description: 防止 SSH 爆破：启用密钥登录前段时间，我发现我的一台服务器被SSH 爆破 10,000 次。这让我意识到使用用户名密码登录方式存在较大的安全隐患。本文将介绍 SSH 爆破攻击的危险，并指导大家如何通过启用密钥登录来保护服务器安全。什么是 SSH 爆破攻击？SSH（Secure Shell）是一种常用的远程登录方式，主要用于管理服务器。然而，如果 SSH 使用用户名和密码登录，它很容易成为攻击者的目标。攻击者通常通过“暴力破解”来猜测用户名和密码，试图获取未授权的访问权限。暴力破解会用字典或脚本不断尝试常见的密码组合，一旦成功，攻击者便能完全控制你的服务器。SSH 爆破攻击的危险性资源消耗：爆破攻击会占用服务器的 CPU 和带宽资源，影响正常的服务器运行。数据泄露：一旦被爆破成功，攻击者可能窃取敏感数据或安装恶意软件。服务中断：攻击者可以通过删除关键文件或修改配置导致服务中断。被滥用为跳板：黑客可能利用你的服务器作为跳板，进一步攻击其他系统或进行网络犯罪。如何启用 SSH 密钥登录？为防止暴力破解攻击，推荐使用 SSH 密钥登录。密钥登录比密码登录安全得多，因为它使用加密密钥认证，且不容易被破解。步骤一：生成 SSH 密钥对在本地计算机上生成 SSH 密钥对：ssh-keygen -t rsa -b 4096 -C "your_email@example.com"你可以选择将密钥保存在默认位置（通常是 ~/.ssh/id_rsa），并设置一个密码短语来进一步增强安全性。生成后，会得到一个私钥文件（id_rsa）和一个公钥文件（id_rsa.pub）。-C参数后面的内容可以用来标识这个密钥的，以便区分不同的密钥步骤二：将公钥上传到服务器将生成的公钥上传到目标服务器（使用 user@hostname 替换为你的用户名和主机名）：ssh-copy-id -i ~/.ssh/id_rsa.pub user@hostname如果无法使用 ssh-copy-id，可以手动上传公钥：cat ~/.ssh/id_rsa.pub | ssh user@hostname 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'步骤三：禁用密码登录为了确保安全性，建议禁用 SSH 密码登录。登录到服务器后，编辑 SSH 配置文件：sudo vim /etc/ssh/sshd_config找到并修改以下选项：PasswordAuthentication no确保启用了公钥认证机制，允许使用密钥登陆，即确保配置文件中有以下配置，并且没有被注释掉：PubkeyAuthentication yes保存并退出，然后重启 SSH 服务以应用更改：sudo systemctl restart ssh其他安全建议更改默认 SSH 端口：将 SSH 端口从默认的 22 改为其他端口，可以减少被扫描的概率。使用防火墙：配置防火墙规则，只允许可信任的 IP 地址访问 SSH 服务。启用 Fail2Ban：Fail2Ban 可以在短时间内禁止多次失败登录尝试的 IP，从而防止暴力破解。结论SSH 爆破攻击对服务器安全构成严重威胁，但通过启用 SSH 密钥登录，可以有效防止暴力破解。采用上述安全建议后，你的服务器将更加安全稳定。

Realm转发使用教程
type: item
date: 2024-10-04T21:37:00+08:00
description: 简介 Realm 是一个用 rust 编写的简单、高性能的网络中继工具。其特点为配置简单、资源占用少、性能强。项目仓库地址：https://github.com/zhboner/realm使用方法1. 下载系统对应版本二进制文件，下载地址，以 linux x64 系统为例mkdir -p /opt/realm cd /opt/realm wget https://github.com/zhboner/realm/releases/download/v2.6.2/realm-x86_64-unknown-linux-gnu.tar.gz tar -zxvf realm-x86_64-unknown-linux-gnu.tar.gz chmod +x realm2. 编辑配置文件简便用法，直接命令行参数启动(需在安装目录运行)./realm -l 0.0.0.0:5000 -r 1.1.1.1:443-l 后跟本地 ip 加端口(即本地监听的 ip+port )，-r 后跟远程 ip 加端口(即需要转发的远端服务的 ip+port )，更多参数可以使用 ./realm -h查看。配置文件，配置文件运行配置文件可以使用 toml 或者 json 格式书写，个人推荐使用 toml 格式，更加清晰明了， 官方提供的配置文件实例vim /opt/realm/config.toml运行以上命令，将下列内容粘贴进去后，敲下 esc 键，然后键盘输入 :wq 保存并退出我这里使用 toml 格式书写一个最基本 tcp/udp 转发实例[log] level = "warn" # 输出的日志等级，日志级别: off,debug,info,error,warn # output = "./realm.log" #日志输出路径 [network] use_udp = true # 启用udp [[endpoints]] listen = "0.0.0.0:5000" # 本地监听的ip和端口 remote = "1.1.1.1:443" # 远端ip加端口 # [[endpoints]] # 可以同时配置多个转发只需要添加[[endpoints]]字段即可 # listen = "0.0.0.0:10000" # remote = "www.google.com:443"[collapse status="false" title="官方配置文件examples"][log] level = "warn" output = "realm.log" [dns] mode = "ipv4_only" protocol = "tcp_and_udp" nameservers = ["8.8.8.8:53", "8.8.4.4:53"] min_ttl = 600 max_ttl = 3600 cache_size = 256 [network] no_tcp = false use_udp = true ipv6_only = false tcp_timeout = 5 udp_timeout = 30 send_proxy = true send_proxy_version = 2 accept_proxy = true accept_proxy_timeout = 5 tcp_keepalive = 15 tcp_keepalive_probe = 3 [[endpoints]] listen = "0.0.0.0:5000" remote = "1.1.1.1:443" extra_remotes = ["1.1.1.2:443", "1.1.1.3:443"] balance = "roundrobin: 4, 2, 1" through = "0.0.0.0" interface = "lo" [[endpoints]] listen = "0.0.0.0:10000" remote = "www.google.com:443" extra_remotes = ["www.youtube.com:443"] balance = "roundrobin: 2, 1" through = "0.0.0.0" interface = "wlan0"[/collapse]3. 设置开启自启动linux 使用 systemd 服务来实现开机自启在 /etc/systemd/system/ 目录下创建 realm.service 文件vim /etc/systemd/system/realm.service运行以上命令，将下列内容粘贴进去后，敲下 esc 键，然后键盘输入 :wq 保存并退出以下是使用配置文件启动的配置，如果使用参数启动请自行修改 ExecS…

欢迎来到我的博客🎉
type: item
date: 2024-10-01T20:54:00+08:00
description: 欢迎来到我的博客 🎉引言 嗨，大家好！欢迎来到我的个人博客。这是一个充满思考、分享与学习的地方，我将在这里记录下我对技术、生活、以及个人成长的点滴感悟。希望通过这个平台，能够与大家建立起一座沟通的桥梁，共同进步。为什么建这个博客？ 建立这个博客的初衷很简单，主要有以下几点：记录与总结：在学习新技术或解决问题的过程中，记录下来的笔记和心得不仅能加深理解，还能方便日后回顾。分享与交流：我相信“教是最好的学”，通过分享自己的知识和经验，可以促使自己更加深入地理解和掌握知识，同时也希望能为需要的人提供帮助。[scode type="blue" size=""]主要是因为闲的没事，刚好又有个服务器不知道用来干啥[/scode]博客内容规划 我的博客内容将主要围绕以下几个方面展开：技术文章：涵盖编程语言（如Python、JavaScript）、Web开发（HTML/CSS/React）、数据库管理、云计算与大数据、以及AI与机器学习等方面的知识分享。生活感悟：记录生活中的小确幸、旅行见闻、阅读心得等，分享一些积极向上的生活态度。个人成长：关于时间管理、习惯养成、自我提升等方面的思考和实践。如何参与 我非常欢迎每一位访客的到来，并鼓励大家积极参与进来：留言互动：在每篇文章下方，你可以留下你的看法、疑问或建议，我会尽量回复。订阅更新：通过RSS订阅或使用邮件订阅功能，你可以第一时间获取我的最新文章。分享转发：如果你喜欢我的文章，不妨分享给你的朋友或同事，让更多人受益。结语 最后，感谢你的到来和阅读。这仅仅是一个开始，未来的日子里，我会不断努力，提升自己的写作水平，分享更多有价值的内容。希望我们能在这一片数字海洋中，共同航行，探索未知。 再次欢迎来到我的博客，期待与你一起成长！