前言
在日常的服务器管理和开发工作中,我们每天可能需要无数次地登录远程服务器。传统的密码登录方式不仅繁琐——需要我们记住并输入复杂的密码,更重要的是,它将我们的服务器暴露在被暴力破解的风险之下。
有没有一种方法,既能让我们安全地连接服务器,又能免去重复输入密码的烦恼呢?
答案是肯定的。那就是使用 SSH 密钥对进行身份验证。这篇博客将带你一步步配置 SSH 密钥登录,让你的服务器连接既安全又高效。
在日常的服务器管理和开发工作中,我们每天可能需要无数次地登录远程服务器。传统的密码登录方式不仅繁琐——需要我们记住并输入复杂的密码,更重要的是,它将我们的服务器暴露在被暴力破解的风险之下。
有没有一种方法,既能让我们安全地连接服务器,又能免去重复输入密码的烦恼呢?
答案是肯定的。那就是使用 SSH 密钥对进行身份验证。这篇博客将带你一步步配置 SSH 密钥登录,让你的服务器连接既安全又高效。
Install Node.js & npm on Ubuntu
Node.js 是一个开源的JavaScript运行环境,常用于构建服务器端应用。npm 是Node.js的包管理工具,用于安装和管理JavaScript包。在Ubuntu系统上,安装Node.js和npm可以通过以下几个步骤来完成。
rss是一种简易的信息发布方式,通过RSS订阅可以及时获取博客的更新信息。本文将介绍如何为 Hexo 项目添加 RSS 订阅链接。
在 Mac 和 Linux 上部署 frp, 来实现内网穿透, 使得外网可以访问内网的服务, 例如家里的 NAS, 服务器等等.
frp 是一个快速反向代理, 可以帮助您将内部网络服务暴露到公共网络, 例如家庭网络中的 NAS, 服务器等等.
首先从 frp 的 GitHub Releases 页面下载 frp 的客户端和服务端程序.
如下图:
其中
frp_0.x.x_darwin_amd64.tar.gz是 Mac 版本的客户端程序,frp_0.x.x_linux_amd64.tar.gz是 Linux 版本的客户端程序.
解压后包含以下文件:
frpc客户端程序frps服务端程序frps.toml服务端配置文件frpc.toml客户端配置文件LICENSE许可证文件
下载对应 frp 的服务端程序
解压缩至任一目录
修改 frps.toml 配置文件
1 | # frps.toml |
运行 ./frps -c frps.toml 启动服务端
下载对应 frp 的客户端程序
解压缩至任一目录
修改 frpc.toml 配置文件
1 | # frpc.toml |
运行 ./frpc -c frpc.toml 启动客户端
可以完全参考官方文档, 使用systemd方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动
MAC上可以使用launchd来配置守护进程, 使得 frpc 客户端程序在后台运行.
创建一个 plist 文件, 例如 frpc.plist
1 |
|
其中
/Users/xxxx/frp/为 frp 的安装目录,frpc.toml为 frpc 的配置文件
根据需求该文件存到对应目录
~/Library/LaunchAgents/ 仅当前用户/Library/LaunchAgents/ 所有用户/Library/LaunchDaemons/ 系统级别1 | sudo chown root ~/Library/LaunchAgents/frpc.plist |
1 | launchctl start frpc |
1 | launchctl list | grep frpc |
或者打开mac monitor查看是否有frpc进程
1 | launchctl stop frpc # 停止服务 |
Use ssh to connect to Google Virtual Machine
谷歌云服务器默认登录方式是browser ssh,但是有时候我们需要第三方客户端使用ssh连接服务器。
本文介绍如何使用ssh连接Google Cloud平台的虚拟机(云服务器)
在使用Git进行版本控制时,每次提交代码时都要求输入用户名和密码,这对于频繁提交的开发者来说会显得十分繁琐。通过配置SSH密钥,可以实现免密码提交代码,既提升了工作效率,也增强了安全性。本文将介绍如何在Git服务器上使用SSH密钥进行身份验证,替代每次输入账户密码的方式。
如何将 Font Awesome 从 v4 迁移到 v5 并优化图标加载
在这篇博客中, 我将讨论如何将Font Awesome从v4迁移到v5, 并选择合适的方式加载图标库, 帮助你优化图标加载性
In this article, I will show you how to style your terminal and IDEs.
We will use iTerm2 as the terminal and Oh My Zsh as the shell.
Deploy RSSHub on Vercel(部署 RSSHub 在 Vercel 上)
官方推荐使用docker-compose部署RSSHub,但是需要个人服务器,而且需要一定的技术水平,而在Vercel上部署RSSHub更加简单.
Vercel 是一个现代化的部署应用程序平台, 有以下优点:
安装RSSHub官方文档进行部署:https://docs.rsshub.app/deploy/#deploy-to-vercel
部署后会发现下图错误:
原因是目前https://github.com/DIYgod/RSSHub仓库的master分支下, package.json设置"node": ">22", 而Vercel平台支持最高为20.x
https://github.com/DIYgod/RSSHub/fork
注意: 在此处取消勾选: Copy the master branch only
访问https://vercel.com/, 注册账号, 选择Hobby plan
进入主页, 点击Add New...
选择Project
Import 我们刚刚fork的仓库
系统会默认生成一个项目名称,也可以自定义修改
其他配置不动,点击Deploy
这里就会遇到开头提到的Error: 当前的环境版本是 node.js 20,而package.json的要求的 node.js版本要≥22
这里我们的解决方案是使用仓库的legacy分支, 该分支设定的node.js版本为≥16, 满足我们的需求
如下图, 进入项目设置, 选择Git, 修改Production Branch中的Branch name为legacy, 然后点击save保存
接下来, 在下面的Deploy Hooks中创建legacy on legacy, 如下图:
访问生成的url, 创建新的deployment, 等待一段时间之后, 就已经部署好了
Domains, 添加域名, 配置DNS解析legacy分支, 解决了node.js版本不匹配的问题reference: https://cloud.tencent.com/developer/article/2432561
1 |
|
NVM(Node Version Manager)是一个 Node.js 版本管理工具,可以让你在同一台服务器上安装和切换不同版本的 Node.js。本文将介绍如何安装和使用 NVM。
首先,你需要使用 cURL 下载 NVM 安装脚本。在终端中执行以下命令:
1 | curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash |
如果你没有安装 cURL,也可以使用 Wget 下载 NVM 安装脚本:
1 | wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash |
如果你使用 macOS,并且安装了 homebrew,你可以使用以下命令安装 NVM:
1 | brew install nvm |
安装完成后,你需要重新加载终端配置文件(如 .bashrc、.bash_profile、.zshrc 等)或重启终端。然后执行以下命令验证 NVM 是否安装成功:
1 | command -v nvm |
如果输出 nvm,则表示 NVM 安装成功。
你可以使用以下命令查看 NVM 支持的所有 Node.js 版本:
1 | nvm ls-remote |
安装 Node.js 的命令格式为:
1 | nvm install <version> |
例如,安装 Node.js 14.17.0:
1 | nvm install 14.17.0 |
安装多个 Node.js 版本后,你可以使用以下命令切换版本:
1 | nvm use <version> |
例如,切换到 Node.js 14.17.0:
1 | nvm use 14.17.0 |
你可以使用以下命令设置默认 Node.js 版本:
1 | nvm alias default <version> |
例如,设置默认 Node.js 版本为 14.17.0:
1 | nvm alias default 14.17.0 |
如果你想卸载 NVM,可以执行以下命令:
1 | rm -rf ~/.nvm |
pnpm1 | npm install -g pnpm |