Ubuntu中SSH服务器安装使用

SSH服务安装

1. 安装 OpenSSH

安装 SSH 服务端(允许远程登录)

复制代码
sudo apt update
sudo apt install openssh-server

安装 SSH 客户端(用于连接其他服务器)

复制代码
sudo apt install openssh-client

2. 检查 SSH 服务状态

复制代码
sudo systemctl status ssh
  • 如果未运行,启动 SSH:

    复制代码
    sudo systemctl start ssh
  • 设置开机自启

    复制代码
    sudo systemctl enable ssh

3. 配置 SSH(可选)

默认配置文件位于 /etc/ssh/sshd_config,可修改以提高安全性:

复制代码
sudo nano /etc/ssh/sshd_config

常见优化选项

复制代码
Port 2222                  # 更改默认端口(22 → 2222,防止扫描)
PermitRootLogin no         # 禁止 root 远程登录
PasswordAuthentication no  # 禁用密码登录(仅密钥登录更安全)
AllowUsers aixi            # 只允许特定用户登录

应用更改

复制代码
sudo systemctl restart ssh

4. 允许 SSH 通过防火墙

如果启用了 ufw,需放行 SSH:

复制代码
sudo ufw allow 22          # 如果使用默认端口 22
sudo ufw allow 2222        # 如果修改了端口(如 2222)
sudo ufw enable           # 启用防火墙
sudo ufw status           # 查看规则

5. 远程连接 SSH

从 Linux/Mac 连接

复制代码
ssh username@server_ip -p 22
  • username:你的 Ubuntu 用户名
  • server_ip:服务器 IP 地址(用 ip ahostname -I 查看)
  • -p 22:如果修改了端口(如 2222),需指定

从 Windows 连接

使用 PuTTYWindows Terminal,输入服务器 IP 和端口。


6. 卸载 OpenSSH

移除 SSH 服务端

复制代码
sudo apt remove --purge openssh-server

移除 SSH 客户端

复制代码
sudo apt remove --purge openssh-client

清理配置

复制代码
sudo apt autoremove

常见问题

1. "Connection refused" 错误

  • 检查 SSH 是否运行:sudo systemctl status ssh
  • 检查防火墙是否放行端口:sudo ufw status

2. 忘记 SSH 端口

查看当前配置:

复制代码
sudo grep Port /etc/ssh/sshd_config

3. 密钥登录(更安全)

生成密钥对:

复制代码
ssh-keygen -t ed25519

将公钥上传到服务器:

复制代码
ssh-copy-id -i ~/.ssh/id_ed25519.pub username@server_ip
相关推荐
冬夜戏雪1 分钟前
【尚庭公寓152-157】[第6天]【配置阿里云号码认证服务】
运维·服务器
AWS官方合作商39 分钟前
AWS EC2实例重启后SSH/SFTP连接失败的全面排查指南
云计算·ssh·aws
Y淑滢潇潇1 小时前
RHCE Day3 DNS服务器
运维·服务器
How_doyou_do2 小时前
模态框的两种管理思路
java·服务器·前端
jarreyer2 小时前
【ubuntu离线安装Oracle 客户端】ldd /opt/oracle/instantclient_19_8/libclntsh.so
linux·ubuntu·oracle
vvw&3 小时前
如何在 Ubuntu 上安装 PostgreSQL
linux·运维·服务器·数据库·ubuntu·postgresql
ShiinaKaze3 小时前
Ubuntu 18.04 XRDP 黑屏
ubuntu·xrdp
程序猿追3 小时前
异腾910B NPU实战:vLLM模型深度测评与部署指南
运维·服务器·人工智能·机器学习·架构
看我干嘛!3 小时前
GME 和MGRE综合实验
运维·服务器·网络
羚羊角uou4 小时前
【Linux网络】Socket编程TCP-实现Echo Server(上)
linux·运维·服务器