服务器初始设置
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
配置证书登录
选择到用户主目录,输入:
cd pwd # 如果你是root用户,那么应该返回 /root # 如果你是其他用户,那么应该返回 /home/用户名 # 我使用的用户是root,所以我返回的是 /root
生成公钥和私钥,输入:
# 生成公私钥对 ssh-keygen -t rsa # 会提示默认安装目录(/root/.ssh/id_rsa),请询问你说期望的目录 # 这里我默认,直接回车 # 会提示是否要输入密码,这里可以根据是否需要,我一般是默认空,直接回车 # 测试我输入密码test123 # 现实所有目录及权限 ls -al # 可以看到 # drwxr-x--x 2 root root 4096 Nov 24 21:48 .ssh # 这里.ssh是隐藏目录
修改公钥&私钥名称和权限
# 选到.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
修改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
使用SFTP工具,把private_key_debian文件下载到本地
使用终端工具,配置使用该私钥进行登录
在macos或linux,使用私钥登录时,需要把下载下来的私钥文件权限修改为只读
修改不允许密码登录,在使用公私钥认证登录以后,可以设置禁止密码登录
# 编辑sshd_config vim /etc/ssh/sshd_config # 把PasswordAuthentication 注释去掉 # #PasswordAuthentication yes --> PasswordAuthentication no PasswordAuthentication no # 重启ssh服务 systemctl restart sshd.service # 这时候再使用密码登录,会出现 # Permission denied (publickey),大功告成