vscode连ssh远程服务器
时间: 2025-05-03 18:45:28 浏览: 22
### 配置 VSCode 使用 SSH 远程连接到服务器
#### 安装必要的扩展
确保安装了 Microsoft 提供的官方扩展 **Remote - SSH**。可以通过在 VSCode 的扩展市场中搜索 “Remote - SSH” 并点击安装来完成此操作[^1]。
#### 创建 SSH 配置文件
在本地计算机上编辑 `~/.ssh/config` 文件,添加目标服务器的相关配置信息。以下是典型的配置示例:
```plaintext
Host myserver
HostName your.server.ip.or.domain
User your_username
Port 22
IdentityFile ~/.ssh/id_rsa
```
其中:
- `myserver` 是自定义名称,用于简化后续连接命令。
- `HostName` 替换为目标服务器的实际 IP 地址或域名。
- `User` 替换为远程服务器上的用户名。
- `Port` 默认为 22,如果有更改则需指定实际端口号。
- `IdentityFile` 指向本地生成的私钥路径[^2]。
#### 设置免密登录
为了提高效率和安全性,建议配置免密登录功能。具体步骤如下:
1. 在本地终端运行以下命令生成 RSA 密钥对(如果尚未存在):
```bash
ssh-keygen -t rsa
```
2. 将生成的公钥复制至远程服务器的 authorized_keys 文件中。可以使用以下任一方式完成该过程:
- 方法一:利用 `ssh-copy-id` 命令快速传输公钥:
```bash
ssh-copy-id [email protected]
```
- 方法二:手动将公钥内容追加到 remote server 上的 `.ssh/authorized_keys` 文件中:
```bash
cat ~/.ssh/id_rsa.pub | ssh [email protected] 'mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys'
```
3. 测试是否能够无需密码直接访问服务器:
```bash
ssh myserver
```
如果成功进入服务器而未提示输入密码,则说明免密登录已生效。
#### 打开远程资源
返回 VSCode,在左侧活动栏找到并点击“远程资源管理器”,然后选择“Connect to Host...”。从列表里挑选之前设定好的别名(如上述例子中的 `myserver`),或者也可以手动填写完整的 SSH URI 格式字符串(形似 `ssh://username@hostname:port`)。一旦建立好链接之后,就可以像操作本机一样浏览以及修改远端项目文件夹了。
#### 解决可能遇到的问题
当尝试连接失败时,请核查以下几个方面:
- 确认远程主机已经开启 SSH 服务,并监听正确的端口。
- 查看是否有防火墙阻止外部请求到达指定端口。
- 对于报错 `"Permission denied (publickey)"` ,仔细核对公钥确实被正确放置进了对应用户的 .ssh 目录下的 authorized_keys 文档内。
```python
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
client.connect('your.server.ip', username='your_username', key_filename='/path/to/private/key')
except Exception as e:
print(f'Connection failed with error {e}')
finally:
client.close()
```
以上脚本可用于测试 Python 下基于 Paramiko 库实现的 SSH 连接逻辑,帮助排查潜在问题。
阅读全文
相关推荐


















