文章

服务器初始设置

ubuntu

终端设置

apt install zsh git wget curl vim
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
// ubuntu/Debian
apt install zsh-syntax-highlighting zsh-autosuggestions
// 下载GIT
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
// 配置
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh

修改时区

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

修改主机名称

hostnamectl set-hostname kaokoco-server
hostnamectl --pretty & hostnamectl --static & hostnamectl --transient

安装Docker

apt-get remove docker docker-engine docker.io containerd runc
apt-get update
apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
docker run hello-world

打开BBR(作用感觉不是很大)

sysctl net.ipv4.tcp_congestion_control
sysctl net.ipv4.tcp_available_congestion_control
vi /etc/sysctl.conf
# 在最后添加
    net.core.default_qdisc=fq
    net.ipv4.tcp_congestion_control=bbr
sysctl -p

配置证书登录

  1. 选择到用户主目录,输入:

    cd
    pwd
    # 如果你是root用户,那么应该返回 /root
    # 如果你是其他用户,那么应该返回 /home/用户名
    # 我使用的用户是root,所以我返回的是 /root
  2. 生成公钥和私钥,输入:

    # 生成公私钥对
    ssh-keygen -t rsa
    # 会提示默认安装目录(/root/.ssh/id_rsa),请询问你说期望的目录
    # 这里我默认,直接回车
    # 会提示是否要输入密码,这里可以根据是否需要,我一般是默认空,直接回车
    # 测试我输入密码test123
    
    # 现实所有目录及权限
    ls -al
    # 可以看到
    # drwxr-x--x  2 root root 4096 Nov 24 21:48 .ssh
    # 这里.ssh是隐藏目录
  3. 修改公钥&私钥名称和权限

    # 选到.ssh目录中
    cd .ssh
    
    # 把公钥文件改为authorized_keys,为什么是authorized_keys,后面会说
    mv id_rsa.pub authorized_keys
    
    # 修改authorized_keys文件,改为只能自己写,其他只能读
    chmod 644 authorized_keys
    
    # 可以把私钥的名称修改一下
    mv id_rsa private_key_debian
  4. 修改sshd_config文件

    # 编辑sshd_config
    vim /etc/ssh/sshd_config
    
    # 把被注释的 PubkeyAuthentication 注释去掉
    # #PubkeyAuthentication yes --> PubkeyAuthentication yes
    PubkeyAuthentication yes
    
    # 把被注释的 StrictModes 注释去掉
    # #StrictModes yes --> StrictModes no
    StrictModes no
    
    # 把被注释的 AuthorizedKeysFile 注释去掉
    # 上面提到把公钥名称改为authorized_keys,就是这里直接释放注释即可
    # AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
    # .ssh/authorized_keys2,可以删掉
    AuthorizedKeysFile .ssh/authorized_keys
    
    # 重启ssh服务
    systemctl restart sshd.service
  5. 使用SFTP工具,把private_key_debian文件下载到本地

  6. 使用终端工具,配置使用该私钥进行登录

    1. 在macos或linux,使用私钥登录时,需要把下载下来的私钥文件权限修改为只读

  7. 修改不允许密码登录,在使用公私钥认证登录以后,可以设置禁止密码登录

    # 编辑sshd_config
    vim /etc/ssh/sshd_config
    
    # 把PasswordAuthentication 注释去掉
    # #PasswordAuthentication yes --> PasswordAuthentication no
    PasswordAuthentication no
    
    # 重启ssh服务
    systemctl restart sshd.service
    # 这时候再使用密码登录,会出现
    # Permission denied (publickey),大功告成

License:  CC BY 4.0