#!/bin/bash # 1. 安装 OpenSSH 服务器(如果未安装) echo "正在安装 OpenSSH 服务器..." sudo apt update sudo apt install -y openssh-server # 2. 启用 SSH 服务并设置开机自启 echo "正在启用 SSH 服务..." sudo systemctl enable ssh sudo systemctl start ssh # 3. 创建 SSH 密钥对(如果不存在) echo "正在创建 SSH 密钥对..." if [ ! -f ~/.ssh/id_rsa ]; then if [ -z "$1" ]; then # 不传入参数时,不使用 -C 选项 ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N "" -q echo "SSH 密钥对已创建(无注释)。" else # 传入参数时,使用 -C 选项 KEY_COMMENT="$1" ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N "" -C "$KEY_COMMENT" -q echo "SSH 密钥对已创建,注释为:$KEY_COMMENT。" fi else echo "SSH 密钥对已存在,跳过创建。" fi # 4. 设置 SSH 配置文件以允许密码登录和密钥登录 echo "正在配置 SSH 服务..." sudo sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config sudo sed -i 's/^#PubkeyAuthentication yes/PubkeyAuthentication yes/' /etc/ssh/sshd_config # 5. 重启 SSH 服务以应用更改 sudo systemctl restart ssh # 6. 显示公钥内容 echo "SSH 公钥内容如下:" cat ~/.ssh/id_rsa.pub echo "SSH 登录已开启,密钥对已创建并配置完成。"