虚拟机连接ssh
时间: 2025-06-18 13:16:47 浏览: 15
### 如何通过 SSH 连接到虚拟机
#### 安装 OpenSSH 服务器
为了实现远程访问,需要在目标虚拟机上安装并运行 OpenSSH 服务器。可以通过以下命令完成安装和启动操作:
```bash
sudo apt update && sudo apt install openssh-server -y
```
随后,启动 SSH 服务以确保其正常工作[^1]。
```bash
sudo service ssh start
```
#### 使用密钥对认证增强安全性
推荐使用基于密钥对的身份验证方式来替代密码登录。这种方式不仅更安全,还能简化后续的连接流程。具体步骤如下:
1. **生成公私钥对**
如果尚未创建过 SSH 密钥,在主机终端执行以下命令生成新的 RSA 密钥对:
```bash
ssh-keygen -t rsa -b 4096
```
2. **复制公钥至虚拟机**
将主机中的 `.pub` 文件内容追加到虚拟机上的 `~/.ssh/authorized_keys` 文件中。可以手动编辑该文件或将公钥直接传输过去:
```bash
cat ~/.ssh/id_rsa.pub | ssh username@virtual-machine-ip 'cat >> .ssh/authorized_keys'
```
此外,也可以借助工具如 `scp` 或者图形化界面完成此过程。
3. **权限设置校验**
确认 `/home/[username]/.ssh/authorized_keys` 的读写权限被正确设定为仅允许用户本身访问它及其父目录[^2]:
```bash
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys
```
#### 测试 SSH 连接
当上述准备工作完成后,尝试从本地机器发起测试性的 SSH 请求。假设虚拟机 IP 地址为 `192.168.x.x` ,则可按下面的方式建立会话链接:
```bash
ssh [email protected]
```
如果一切配置无误的话,应该能够顺利进入无需再次输入密码的状态下的交互式 shell 中[^3]。
对于 Windows 用户而言,除了利用 VS Code Remote-SSH 插件之外,还可以考虑采用专门设计用于管理远程 Linux 主机的专业客户端软件——XShell 。这类程序提供了更加友好的 GUI 接口以及丰富的功能选项支持复杂场景需求处理[^5]^。
#### 自动解析域名 (可选)
为了避免每次都需要记住具体的IP地址或者频繁更新Hosts映射表项带来的麻烦, 可以选择部署DNSMASQ之类的轻量级内部网络名称解析服务方案; 不过这一步骤并非必要条件.
```python
import socket
hostname = "your-hostname"
ip_address = socket.gethostbyname(hostname)
print(f"The IP address of {hostname} is {ip_address}.")
```
阅读全文
相关推荐



















