对 Linux 服务器进行初始化配置工作

VPS 服务器打一枪换一炮,所以会常会做一些基础配置,在此做一个记录,免得每次 Google ,

如果每次用密码登录 SSH ,那就真的太没效率了,而且安全性相对较低,那么首先我们来解决密匙登陆问题,以CentOS为例。

密匙对的生成

我们用 SSH 登陆后,默认进入主目录root目录,我们在此目录下创建隐藏目录.ssh

mkdir -p .ssh
chmod 700 .ssh

当然很多 VPS 默认就有.ssh文件夹,可忽略上一步直接进入。

cd .ssh \\ 进入密匙存放文件夹
ssh-keygen \\ 此命令可生成密钥对,下面会解释什么叫`密钥对`。

然后,我们一路回车即可,如图。

ssh-keygen

密钥文件按照默认方式,在主目录root下的隐藏目录.ssh中生成,分别为id_rsaid_rsa.pub,其中

  • id_rsa:是此机器的私钥,应该保存到你的可信任的设备上,并在服务器上删除该文件,可比理解成平钥匙
  • id_rsa.pub:是你的公钥,保存在服务器上,可理解成,用上面的钥匙才能打开。

特别注意,ssh-keygen命令只是用来生成密匙对的,可以理解为制造钥匙和锁的工具,至于在哪儿生成,是无关紧要的,甚至于在自己的客户端生成都行。

这里的可信任的设备也就是客户端,可以在该客户端上通过ssh软件(比如 iTerm 2、Xshell、Putty…)登陆服务器,然而客户端和服务端只是相对,这样说是为了便于理解。

现在我们已经有钥匙和锁了,接下来我们要如何使用它们呢?

公钥的使用

我们要把刚刚生成的公钥里的内容复制出来,并存放在服务器端的authorized_keys文件里。

cd ~/.ssh
touch authorized_keys //生成 authorized_keys
cat id_rsa.pub >> authorized_keys //将`公钥`里的内容复写到authorized_keys
chmod 600 authorized_keys //给 authorized_keys 写个权限

相信你应该明白了,这里authorized_keys相当于服务端的锁,上面我们已经把锁制造好了,然后id_rsa.pub文件可以任由你的处置了。

接下来还要对服务器做一些简单配置:

  1. 使用 root 登录,建议修改配置文件:/etc/ssh/sshd_config
vim /etc/ssh/sshd_config
  1. 找到以下内容,并去掉 # 注释,使其生效
#RSAAuthentication yes   // 只支持第 1 代ssh通讯协议使用的配置项,在 CentOS 7.4+ 已经没有该项,可忽略
#PubkeyAuthentication yes // 第 2 代ssh通讯协议的密钥验证选项
#AuthorizedKeysFile .ssh/authorized_keys // 指定“锁”放在的位置,就是刚刚配置的那把锁
  1. 建议将密码登陆关闭,只允许密匙登陆,找到下面的选项将 yesno
PasswordAuthentication yes
  1. 重启SSH服务,以生效。

    // CentOS 6.x:
    service sshd restart

    // CentOS 7.x:
    systemctl restart sshd

私钥的使用

私匙就就是我们的钥匙,我们要把这个钥匙保存好,一旦泄露别人就能开你的门了,上面也说了我们应该保存在可信任的设备里,举个例子,我要在 MacBook Pro 上用 SSH 来操作服务器,那么进行如下操作:

cd ~/.ssh
vim id_rsa //将上面服务端生成的 id_rsa 里的内容拷贝到这里即可

然后还是在.ssh目录,生成配置文件:

vim config

这里贴出我的 MacBook Pro 里 config 里的配置:

# 每隔四分钟(240秒)向远程主机发送信号,防止链接关闭
# Host *
# ServerAliveInterval 240

# --- 美国洛杉矶 A 主机 ---
Host a.jandou.com
HostName a.jandou.com
IdentityFile ~/.ssh/id_rsa
User root
ServerAliveInterval 240
# ----------------------------

# --- 中国广州 B 主机 ---
Host b.jandou.com
HostName b.jandou.com
IdentityFile ~/.ssh/id_rsa
User root
ServerAliveInterval 240
# ----------------------------

# --- 中国台湾 C 主机 ---
Host c.jandou.com
HostName c.jandou.com
IdentityFile ~/.ssh/id_rsa
User root
ServerAliveInterval 240
# ----------------------------

# --- Github ---
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa.github
# ----------------------------

大功告成,使用同一个密匙对,可以快速的配置,并登陆多台服务器

ssh a.jandou.com //直接回车就登陆
ssh b.jandou.com //直接回车就登陆
ssb c.jandou.com //直接回车就登陆

接下来配置 ZSh

oh my zsh 好用不多说,安装方法:

  1. 安装 zsh ,并使其生效
sudo yum update -y && sudo yum -y install zsh //安装 zsh
chsh -s /bin/zsh //切换默认 shell 为 zsh
  1. 安装 git 、nodejs等等
yum -y install git 

// 添加 Node Source 到 yum 库(以 Node.js 当前LTS版本10.x版为例)
curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -

// 安装 nodejs
yum -y install nodejs

// 安装 node 版本管理 n
npm install -g n
  1. 安装 oh my zsh
curl 方法
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

wget 方法
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

测试服务器性能

显示当前测试的各种系统信息;取自世界多处的知名数据中心的测试点,下载测试比较全面;支持 IPv6 下载测速;IO 测试三次,并显示平均值。

wget -qO- bench.sh | bash

安装配置 V2Ray

bash <(curl -L -s https://install.direct/go.sh)

脚本运行完成后,你需要:

  1. 编辑 /etc/v2ray/config.json 文件来配置你需要的代理方式;
  2. 运行 service v2ray start 来启动 V2Ray 进程;
  3. 之后可以使用 service v2ray start|stop|status|reload|restart|force-reload 控制 V2Ray 的运行。

V2Ray 中转服务器配置样例:V2Ray 中转服务器配置折腾记(附全套配置)

安装 BBR 模块

BBR 只支持KVM构架的 VPS

wget "https://github.com/cx9208/bbrplus/raw/master/ok_bbrplus_centos.sh" && chmod +x ok_bbrplus_centos.sh && ./ok_bbrplus_centos.sh

安装后机器重启,再执行 uname -r查看内核版本,显示 4.14.90 则切换内核成功。
执行lsmod | grep bbr,显示有 tcp_bbrplus, 则开启成功。

参考列表:

How to install Node.js and npm on CentOS 7
一键测试脚本bench.sh
V2Ray 下载安装

坚持原创技术分享,您的支持将鼓励我继续创作!