Ubuntu安装SSH及命令使用

1. 安装OpenSSH-Server

1
2
3
4
5
# 更新软件包列表
sudo apt update
# 安装openssh-server
sudo apt install openssh-server


2. 启动与启用服务

1
2
3
4
5
6
7
# 启动SSH服务(默认安装后会自动启动)
sudo systemctl start ssh
# 设置开机自启
sudo systemctl enable ssh
# 检查服务状态(确认是否运行)
sudo systemctl status ssh

✅ 看到 Active: active (running) 表示成功。


3. 配置防火墙(如启用)

如果系统启用了 ufw 防火墙:

1
2
3
4
5
6
7
8
9
# 允许SSH的22端口
sudo ufw allow ssh
# 或直接指定端口:
sudo ufw allow 22/tcp
# 启用防火墙(若未启用)
sudo ufw enable
# 查看规则
sudo ufw status


4. SSH基本命令使用

从其他机器连接服务器

1
2
ssh username@server_ip

  • 示例ssh user@192.168.1.100
  • 首次连接会提示确认主机密钥,输入 yes 接受。

指定端口连接(默认22)

1
2
ssh -p 2222 user@server_ip  # 如果服务器SSH端口改为2222

使用密钥登录(免密码)

1
2
3
4
5
# 本地生成密钥(如果尚未生成)
ssh-keygen -t rsa -b 4096
# 将公钥复制到服务器
ssh-copy-id user@server_ip

之后登录无需输入密码。


5. 修改SSH配置(可选)

1
2
3
# 编辑配置文件
sudo nano /etc/ssh/sshd_config

常用配置项:

1
2
3
4
5
Port 2222                  # 更改默认端口(避开扫描)
PermitRootLogin no # 禁止root登录
PasswordAuthentication no # 禁用密码登录(仅用密钥)
AllowUsers user1 user2 # 只允许指定用户登录

保存后重启服务

1
2
sudo systemctl restart ssh


6. 解决常见问题

连接被拒绝?

  • 检查SSH服务状态:sudo systemctl status ssh
  • 检查防火墙规则:sudo ufw status

修改端口后无法连接?

  1. 确认新端口已开放:sudo ufw allow 2222
  2. 重启SSH服务:sudo systemctl restart ssh

忘记允许的用户?

检查配置文件中 AllowUsers 或用户是否在 sshusers 组(需配置)。


关键目录与文件

路径说明
/etc/ssh/sshd_configSSH服务配置文件
\x7e/.ssh/authorized_keys用户免密登录的公钥
/var/log/auth.log登录日志(查看登录错误)

卸载OpenSSH-Server

1
2
3
sudo apt remove openssh-server
sudo apt purge openssh-server # 删除配置文件

7. 完成后的注意事项

设置完成后,确保定期维护以保障安全。建议每月检查 /var/log/auth.log 监控登录尝试,并运行 sudo apt upgrade 更新软件包。启用密钥登录和限制端口能显著降低攻击风险,而卸载仅在不需远程访问时执行——清除配置后,任何依赖SSH的服务将中断。


Ubuntu安装SSH及命令使用
https://www.smallrains.com/posts/28509/
作者
小鱼不吃鱼.
发布于
2025年6月1日
许可协议