ubuntu 连接ssh
时间: 2025-08-18 14:51:08 AIGC 浏览: 21
在 Ubuntu 系统下使用 SSH 连接远程服务器是一种常见且高效的远程访问方式。SSH(Secure Shell)不仅提供加密的安全通信,还支持多种身份验证方式,如密码验证和密钥验证。以下是详细的步骤和配置说明:
### 1. 安装 SSH 客户端
Ubuntu 系统通常默认已经安装了 `openssh-client`,但如果没有安装,可以通过以下命令进行安装:
```bash
sudo apt update
sudo apt install openssh-client
```
### 2. 使用 SSH 命令连接远程服务器
最简单的连接方式是使用 `ssh` 命令,格式如下:
```bash
ssh username@remote_host
```
其中 `username` 是你在远程服务器上的用户名,`remote_host` 是远程服务器的 IP 地址或主机名。例如:
```bash
ssh [email protected]
```
如果远程服务器的 SSH 端口不是默认的 22,可以通过 `-p` 参数指定端口号:
```bash
ssh -p 9922 [email protected]
```
### 3. 配置 SSH 密钥认证
为了提高安全性并避免每次连接时都需要输入密码,可以使用 SSH 密钥对进行身份验证。
#### 3.1 生成 SSH 密钥对
在本地机器上生成 SSH 密钥对:
```bash
ssh-keygen -t rsa -b 4096
```
按照提示操作,通常可以直接按回车键使用默认路径和空密码。
#### 3.2 将公钥复制到远程服务器
使用 `ssh-copy-id` 命令将公钥复制到远程服务器:
```bash
ssh-copy-id [email protected]
```
如果 `ssh-copy-id` 不可用,可以手动将公钥文件(通常是 `~/.ssh/id_rsa.pub`)内容追加到远程服务器的 `~/.ssh/authorized_keys` 文件中:
```bash
cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
```
#### 3.3 禁用密码登录(可选)
为了进一步增强安全性,可以在远程服务器上禁用密码登录。编辑 `/etc/ssh/sshd_config` 文件,找到并修改以下配置项:
```bash
PasswordAuthentication no
```
保存文件后,重启 SSH 服务以应用更改:
```bash
sudo systemctl restart ssh
```
### 4. 配置允许特定用户登录(可选)
如果你希望只有特定的用户能够通过 SSH 登录,可以在 `/etc/ssh/sshd_config` 文件中添加或修改以下配置项:
```bash
AllowUsers user1 user2
```
这将限制只有 `user1` 和 `user2` 能够通过 SSH 登录。
### 5. 检查 SSH 服务状态
确保远程服务器上的 SSH 服务正在运行:
```bash
sudo systemctl status ssh
```
如果服务未运行,可以使用以下命令启动并设置开机自启:
```bash
sudo systemctl start ssh
sudo systemctl enable ssh
```
### 6. 使用 VSCode 通过 SSH 连接远程服务器
如果你希望在 Visual Studio Code 中通过 SSH 连接远程服务器,可以安装 **Remote - SSH** 扩展。安装完成后,点击左下角的绿色图标,选择 "Connect to Host...",然后输入远程服务器的 SSH 连接信息即可。
### 7. 常见问题排查
- **连接超时**:检查远程服务器是否允许 SSH 连接,防火墙是否开放了相应的端口。
- **权限问题**:确保本地的私钥文件权限为 `600`,远程服务器上的 `~/.ssh` 目录和 `authorized_keys` 文件权限正确。
- **密钥不匹配**:确认使用的私钥与远程服务器上的公钥匹配。
###
阅读全文
相关推荐



















