教程

Linux|生成 SSH 密钥登陆教程

刘启春

使用非对称密钥登陆 Linux

1、使用 ssh-keygen 生成公私钥

2、服务器(Linux)端 ~/.ssh/authorized_keys 文件存放公钥,保证 SSH 服务开启,默认端口 22。

3、自己保存私钥,登陆时使用 ssh 命令

命令和参数解释

# 生成密钥
ssh-keygen -t rsa -b 4096 -f ~/data/key/id_test_rsa -C "xxxxxx@163.com"

-t 密钥类型, dsa | ecdsa | ed25519 | rsa
-b RSA类型密钥的大小(长度),通常至少应该是 2048,默认 3096
-f 指定私钥的文件名,e.g. ~/.ssh/private_key_name
-C 指定一个注释

# 登录
ssh user@host/ip[:port] -i [identity_file]

e.g. root@106.14.23.168 -i ~/.ssh/id_rsa

-i identity_file 指定私钥文件

# 将公钥放到 .ssh/authorized_keys 文件中
echo id_rsa.pub >> authorized_keys

Java 微基准测试工具 JMH

刘启春

JMH(Java Microbenchmark Harness)是一个进行基准测试的工具,由 OpenJDK 团队研发,JMH 可以一个方法为维度进行吞吐量、调用时间等测试,精度可以精确到微秒级,JMH 提供注解可以更加便捷的使用。

Shell 批量获取力扣做题量工具

刘启春

这是一个批量统计国内版 LeetCode 做题量的工具,写这个小工具的起因是我们实验室准备每周统计大家 leetcode 的做题量,我们实验室十几个人,如果一人一个人看,太费时间了,作为高效程序员这不是我们做事的风格,于此就有了这个小工具。对于平常的事务我一贯对待的风格是:能规范化的尽量使其流程化,能流程化的尽量使其自动化。追逐效率工具能解放我们更多的时间,这没什么可说的。

Shell|Mac OS批量文件编码转换工具

刘启春

前言

本来想查看 win 电脑上的一些源码,奈何在 Mac 上都乱码了,于是网上搜集了一些解决办法,网上多数都是针对单文件的,而我的源码文件是比较多的,因此写了个脚本进行批量处理,我先介绍单文件编码转换方法,最后放上批量转换的脚本。

单文件编码转换

第一种,直接使用 vi 编辑器调整编码方法。输入以下命令。

:set fileencoding=utf-8
Ubuntu20 开启 SSH 服务

Ubuntu20 开启 SSH 服务

刘启春

1、下载 SSH 软件

sudo apt update
sudo apt install openssh-server

2、查看 SSH 状态、设置开启自启

# 查看ssh状态
sudo systemctl status ssh

# 设置
sudo systemctl enable --now ssh

Linux|磁盘挂载卸载

刘启春

磁盘挂载

以下是简单在一个目录挂载一个磁盘。

# 找打挂在磁盘
ls -l /dev/sd*

# 对新挂在的磁盘sdb进行格式化(磁盘使用前必须经过格式化)
mkfs.xfs /dev/sdb

# 查看可挂载的磁盘
blkid

/dev/sda1: UUID="308c9c6c-857f-4f06-add9-f9447eb4ff50" TYPE="xfs"
/dev/sda2: UUID="92c11117-e904-4242-8f4b-54e00fda30ad" TYPE="swap"
/dev/sda3: UUID="72c4a65c-6f6c-4983-8383-2a94419561bb" TYPE="xfs"
/dev/sdb: UUID="cdc8e7be-f7b1-423f-bacd-aa2b5a4b5013" TYPE="xfs"

# 在fstab中添加新磁盘,此处挂载到/data目录下
vim /etc/fstab

# fstab添加的内容,UUID是blkid输出中挂载磁盘的,/data是挂载目录
UUID=cdc8e7be-f7b1-423f-bacd-aa2b5a4b5013    /data      xfs  default   0  0

# 挂载fstab中所有的磁盘
mount -a

# 查看挂载
df -h

Linux|服务器SSH相互认证方案

刘启春

为了使服务器之间的通信更加便捷,例如通过脚本开控制另一台服务器做一些事情或免密码登陆等,都需要使相互通信等服务器之间进行认证,已达到便捷操作等目的。

实现方式,在一台 Linux 服务器中生成一对 SSH 公私钥,保证所有 Linux 节点都持有相同的一对密钥,这样就保证了认证方式相同。