ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Ubuntu SSH 完整配置指南

Ubuntu SSH 完整配置指南 前言SSHSecure Shell是 Linux 系统中最重要的远程管理工具之一它通过加密通道提供安全的远程登录、文件传输和命令执行功能。无论是服务器管理、远程开发还是自动化运维SSH 都是不可或缺的基础设施。一、Ubuntu 启用 SSH 服务基础配置1. 安装 OpenSSH 服务端Ubuntu默认仅带 SSH 客户端需手动安装服务端sudoaptupdatesudoaptinstallopenssh-server-y2. 启动服务并设置开机自启sudosystemctl startsshsudosystemctlenablessh3. 放行防火墙端口UFW如果有防火墙sudoufw allowsshsudoufw reload4. 验证服务状态与获取 IPsudosystemctl statussshipaddr show|grepinet二、SSH 服务安全优化1. 修改默认端口1. 编辑 SSH 配置文件sudonano/etc/ssh/sshd_config2. 找到 #Port 22去掉注释并修改为自定义端口推荐 1024-65535 之间例如 2233Port 22333. 保存退出CtrlO 保存CtrlX 退出重启服务并放行新端口sudosystemctl restartsshsudoufw allow2233/tcpsudoufw delete allowsshsudoufw reload2. 禁用 root 用户远程登录在 sshd_config 中找到#PermitRootLogin prohibit-password修改为PermitRootLogin no重启服务生效sudosystemctl restartssh三、SSH 密钥对免密登录配置1. 在 Ubuntu 生成密钥对ssh-keygen生成的文件id_rsa私钥仅客户端使用绝对不能泄露id_rsa.pub公钥上传到服务器用于验证登录2. 将公钥复制到目标服务器方法1一键复制推荐ssh-copy-id命令会自动将公钥复制到目标服务器的~/.ssh/authorized_keys文件中ssh-copy-id 用户名服务器IP-p端口号注意事项确保目标服务器已开启 SSH 服务首次连接需要输入目标服务器的用户密码命令会自动创建必要的目录和设置正确的权限方法2手动配置适用于无法使用 ssh-copy-id 的场景步骤1查看本地公钥内容在本地计算机上查看公钥文件内容cat~/.ssh/id_rsa.pub复制输出的全部内容通常以ssh-rsa开头的一长串字符。步骤2登录目标服务器并配置公钥登录到目标服务器后执行以下命令# 创建 .ssh 目录如果不存在mkdir-p~/.ssh# 将公钥内容添加到 authorized_keys 文件echo公钥内容~/.ssh/authorized_keys# 设置正确的文件权限chmod600~/.ssh/authorized_keyschmod700~/.ssh权限说明chmod 600 ~/.ssh/authorized_keys确保只有文件所有者可以读写chmod 700 ~/.ssh确保只有目录所有者可以访问验证配置配置完成后可以尝试从本地免密登录目标服务器ssh用户名服务器IP-p端口号3. 客户端Termius导入密钥避坑⚠️ 关键警告导入客户端的是私钥不是公钥私钥id_rsa导入 SSH 客户端用于发起登录请求公钥id_rsa.pub上传到服务器/阿里云控制台不能导入客户端四、常用 SSH 管理命令操作命令重启 SSH 服务sudo systemctl restart ssh停止 SSH 服务sudo systemctl stop ssh关闭开机自启sudo systemctl disable ssh查看 SSH 监听端口ss -tulpn远程连接带端口ssh 用户名服务器IP -p 端口号
返回列表