告别密码:使用 SSH 密钥实现更安全、更便捷的服务器登录

前言

在日常的服务器管理和开发工作中,我们每天可能需要无数次地登录远程服务器。传统的密码登录方式不仅繁琐——需要我们记住并输入复杂的密码,更重要的是,它将我们的服务器暴露在被暴力破解的风险之下。

有没有一种方法,既能让我们安全地连接服务器,又能免去重复输入密码的烦恼呢?

答案是肯定的。那就是使用 SSH 密钥对进行身份验证。这篇博客将带你一步步配置 SSH 密钥登录,让你的服务器连接既安全又高效。

Read more

Install Node.js & npm on Ubuntu

Node.js 是一个开源的JavaScript运行环境,常用于构建服务器端应用。npm 是Node.js的包管理工具,用于安装和管理JavaScript包。在Ubuntu系统上,安装Node.js和npm可以通过以下几个步骤来完成。

Read more

Deploy frp on mac and linux

在 Mac 和 Linux 上部署 frp, 来实现内网穿透, 使得外网可以访问内网的服务, 例如家里的 NAS, 服务器等等.

什么是 frp

frp 是一个快速反向代理, 可以帮助您将内部网络服务暴露到公共网络, 例如家庭网络中的 NAS, 服务器等等.

安装 frp

首先从 frp 的 GitHub Releases 页面下载 frp 的客户端和服务端程序.

如下图:

image-20241128162828012

其中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 许可证文件

服务端: 具有公网 IP 的Linux服务器

  1. 下载对应 frp 的服务端程序

  2. 解压缩至任一目录

  3. 修改 frps.toml 配置文件

    1
    2
    # frps.toml
    bindPort = 7000
  4. 运行 ./frps -c frps.toml 启动服务端

客户端: Mac

  1. 下载对应 frp 的客户端程序

  2. 解压缩至任一目录

  3. 修改 frpc.toml 配置文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # frpc.toml
    serverAddr = "x.x.x.x"
    serverPort = 7000

    [[proxies]]
    name = "ssh"
    type = "tcp"
    localIP = "127.0.0.1"
    localPort = 22
    remotePort = 6000
  4. 运行 ./frpc -c frpc.toml 启动客户端

分别配置守护进程

服务端: Linux

可以完全参考官方文档, 使用systemd方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动

客户端: Mac

MAC上可以使用launchd来配置守护进程, 使得 frpc 客户端程序在后台运行.

  1. 创建一个 plist 文件, 例如 frpc.plist

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
    http://www.apple.com/DTDs/PropertyList-1.0.dtd >
    <plist version="1.0">
    <dict>
    <key>Label</key>
    <string>frpc</string>
    <key>ProgramArguments</key>
    <array>
    <string>/Users/xxxx/frp/frpc</string>
    <string>-c</string>
    <string>/Users/xxxx/frp/frpc.toml</string>
    </array>
    <key>KeepAlive</key>
    <true/>
    <key>RunAtLoad</key>
    <true/>
    </dict>
    </plist>

    其中/Users/xxxx/frp/为 frp 的安装目录, frpc.toml为 frpc 的配置文件

  2. 根据需求该文件存到对应目录

  • ~/Library/LaunchAgents/ 仅当前用户
  • /Library/LaunchAgents/ 所有用户
  • /Library/LaunchDaemons/ 系统级别
  1. 加载配置文件
1
2
sudo chown root ~/Library/LaunchAgents/frpc.plist
launchctl load -w ~/Library/LaunchAgents/frpc.plist
  1. 启动服务
1
launchctl start frpc
  1. 查看服务状态
1
launchctl list | grep frpc

或者打开mac monitor查看是否有frpc进程

image-20241128164327407
  1. 其他命令
1
2
launchctl stop frpc # 停止服务
launchctl unload ~/Library/LaunchAgents/frpc.plist # 卸载服务

Use ssh to connect to Google Virtual Machine

谷歌云服务器默认登录方式是browser ssh,但是有时候我们需要第三方客户端使用ssh连接服务器。
本文介绍如何使用ssh连接Google Cloud平台的虚拟机(云服务器)

Read more

使用SSH密钥在Git服务器上免密码提交代码

在使用Git进行版本控制时,每次提交代码时都要求输入用户名和密码,这对于频繁提交的开发者来说会显得十分繁琐。通过配置SSH密钥,可以实现免密码提交代码,既提升了工作效率,也增强了安全性。本文将介绍如何在Git服务器上使用SSH密钥进行身份验证,替代每次输入账户密码的方式。

Read more

Style your Terminal & IDEs

Style your Terminal

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.

Read more

Deploy RSSHub on Vercel(部署 RSSHub 在 Vercel 上)

背景

官方推荐使用docker-compose部署RSSHub,但是需要个人服务器,而且需要一定的技术水平,而在Vercel上部署RSSHub更加简单.

Vercel 介绍

Vercel 是一个现代化的部署应用程序平台, 有以下优点:

  • 部署速度快
  • 部署简单
  • 支持多种语言

问题

安装RSSHub官方文档进行部署:https://docs.rsshub.app/deploy/#deploy-to-vercel


部署步骤

1. fork原仓库

https://github.com/DIYgod/RSSHub/fork

注意: 在此处取消勾选: Copy the master branch only

2. 部署到vercel

  • 访问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 namelegacy, 然后点击save保存

  • 接下来, 在下面的Deploy Hooks中创建legacy on legacy, 如下图:

  • 访问生成的url, 创建新的deployment, 等待一段时间之后, 就已经部署好了

3. 配置域名

  • 进入项目设置, 点击Domains, 添加域名, 配置DNS解析
  • 访问配置好的域名, 出现下图, 说明部署完成!

总结

  • 通过Vercel部署RssHub, 可以省去自己搭建服务器的麻烦, 也不用担心服务器的维护问题
  • 部署过程中遇到的问题, 通过修改仓库的legacy分支, 解决了node.js版本不匹配的问题
  • 部署完成后, 可以配置域名, 使得访问更加方便
  • 通过这次部署, 也学到了如何在Vercel上部署项目, 以及如何配置域名

reference: https://cloud.tencent.com/developer/article/2432561

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
---
layout: post
title: Deploy RSSHub on Vercel(部署 RSSHub Vercel 上)
author: AlanZeng
date: '2024-09-17 17:20:30 +0800'
categories: Development
tags:
- RSSHub
- Vercel
- Deployment
- Node.js
- Docker
- RSS
toc: true
copyright: true
abbrlink: 23628
---
Read more

NVM 使用指南

NVM(Node Version Manager)是一个 Node.js 版本管理工具,可以让你在同一台服务器上安装和切换不同版本的 Node.js。本文将介绍如何安装和使用 NVM。

1. 安装 NVM

1.1 使用 cURL 安装 NVM

首先,你需要使用 cURL 下载 NVM 安装脚本。在终端中执行以下命令:

1
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

1.2 使用 Wget 安装 NVM

如果你没有安装 cURL,也可以使用 Wget 下载 NVM 安装脚本:

1
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

1.3 使用 homebrew 安装 NVM

如果你使用 macOS,并且安装了 homebrew,你可以使用以下命令安装 NVM:

1
brew install nvm

1.4 验证安装

安装完成后,你需要重新加载终端配置文件(如 .bashrc.bash_profile.zshrc 等)或重启终端。然后执行以下命令验证 NVM 是否安装成功:

1
command -v nvm

如果输出 nvm,则表示 NVM 安装成功。

2. 使用 NVM 安装 Node.js

2.1 查看可用 Node.js 版本

你可以使用以下命令查看 NVM 支持的所有 Node.js 版本:

1
nvm ls-remote

2.2 安装 Node.js

安装 Node.js 的命令格式为:

1
nvm install <version>

例如,安装 Node.js 14.17.0:

1
nvm install 14.17.0

2.3 切换 Node.js 版本

安装多个 Node.js 版本后,你可以使用以下命令切换版本:

1
nvm use <version>

例如,切换到 Node.js 14.17.0:

1
nvm use 14.17.0

2.4 设置默认 Node.js 版本

你可以使用以下命令设置默认 Node.js 版本:

1
nvm alias default <version>

例如,设置默认 Node.js 版本为 14.17.0:

1
nvm alias default 14.17.0

3. 卸载 NVM

如果你想卸载 NVM,可以执行以下命令:

1
rm -rf ~/.nvm

4. 安装pnpm

1
npm install -g pnpm