马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
远程管理服务器,SSH 是绕不开的那一条路。Ubuntu 下从装 openssh-server 到连得上、再到把它配置得更安全,整件事不算复杂,但有几步(防火墙放行、配置文件改完要重启)容易被漏掉。这篇按「装 → 放通 → 连上 → 加固 → 免密」五步走一遍。
一、SSH 是什么
Secure Shell(SSH)是一种网络协议,让用户通过加密通道安全地访问另一台计算机。它广泛用于远程登录系统、管理服务器和进行安全数据传输。在 Ubuntu 这类 Linux 发行版里,安装和配置 SSH 服务是一项常见且相对简单的任务。
二、第 1 步:安装 SSH 服务器
打开终端(快捷键 Ctrl+Alt+T)安装 openssh-server:
sudo apt update
sudo apt install openssh-server
装完 SSH 服务会自动启动,用下面这条看状态:
sudo systemctl status ssh
看到 active (running) 就说明服务起来了。
三、第 2 步:检查防火墙
确认 Ubuntu 防火墙放行 SSH。默认端口是 22:
sudo ufw allow ssh
如果你改了 SSH 端口,就得放行那个特定端口,而不是默认的 22,比如 sudo ufw allow 2222/tcp。这一条最常被忘记:服务明明在跑,外面就是连不上,八成是 ufw 没放行。
四、第 3 步:从客户端连上去
ssh username@server-ip-address
username 是目标机器上已有的用户账号,server-ip-address 是服务器 IP。第一次连的时候会提示是否接受主机公钥,输入 yes 确认,主机信息会写进客户端的 known_hosts。之后再连就不会问了——注意如果换了 IP 或重装系统,Known_hosts 里留着旧指纹反而会连不上,这时需要把对应条目删掉。
五、第 4 步:改配置(可选但推荐)
配置文件在 /etc/ssh/sshd_config,用编辑器打开:
sudo nano /etc/ssh/sshd_config
5.1 更改 SSH 端口
找到 #Port 22 这一行,去掉 # 并把 22 改成你选的端口号:
Port 2222
改端口能减少大量无脑扫描,但记住 改完必须同时放行防火墙的对应端口,还要确认云安全组也放开了。
5.2 禁用 root 登录
出于安全考虑,建议禁止通过 SSH 以 root 身份直接登录。找到 PermitRootLogin 改成:
PermitRootLogin no
保存后重启服务使配置生效:
sudo systemctl restart ssh
改任何配置之后都要 restart,忘了重启等于白改。
六、第 5 步:公钥认证(强烈建议)
用密钥对代替密码,既有安全性也能省掉每次输密码。先在客户端生成一对密钥:
ssh-keygen
然后把公钥拷到服务器的 ~/.ssh/authorized_keys:
ssh-copy-id username@server-ip-address
之后就能免密登录了。想彻底禁密码登录,可以在 sshd_config 里把 PasswordAuthentication 设为 no,注意先确认密钥登录验证通过再关,否则会把你自己锁在门外。
七、排错速查
ssh: connect to host ... Connection refused:服务没起(systemctl status ssh)或端口不对。
- 超时无响应:防火墙/安全组没放行,或机器 IP 变了。
- 改了端口还是走 22:sshd_config 有重复 Port 行,或 sshd 读的是另一份配置。
- 提示 host key mismatch:known_hosts 里指纹对不上,删掉旧条目重连。
- 提示 Permission denied (password):用户名错、或 PermitRootLogin 拦了 root。
整套流程就是「装包 → 起服务 → 放行防火墙 → 连上 → 改端口、禁 root → 换密钥」。做完这五步,一台 Ubuntu 的远程管理通道才算既通又稳。
qidao123.com企服评测-应用市场 编辑提示 |