虚拟机与主机通信相关配置

1、ubuntu22虚拟机如何固定ip?

目前来说,在Ubuntu 22.04上固定虚拟机的IP地址,会去修改Netplan配置文件来指定静态IP地址

首先,可以查看下默认的网络配置:

nmcli dev show

在终端:

sudo chmod 600 /etc/netplan/01-network-manager-all.yaml
sudo vim /etc/netplan/01-network-manager-all.yaml

内容如下:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager # NetworkManager/ networkd
  ethernets:
    ens33:
      dhcp4: no
      addresses: [192.168.136.136/24]
      gateway4: 192.168.136.2
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]  # DNS服务器地址
sudo netplan apply

2、vscode 远程连接虚拟机?

在插件市场里搜索Remote Development 安装好

确保linux虚拟机里面有open-ssh

# 先卸载
sudo apt-get remove openssh-server
# 安装
sudo apt-get install openssh-server

# 重启ssh 服务
sudo service ssh --full-restart
# 自动启动
sudo systemctl enable ssh
# 查看状态
sudo systemctl status ssh

编辑配置:

 # 备份
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
# 编辑
sudo vim /etc/ssh/sshd_config 

按照习惯进行配置,在这里留下一个复杂点的公钥登录:

Port 22
PermitRootLogin yes
# ----------------- 以下提前留出公钥配置(可选)-----------------------
RSAAuthentication yes
PubKeyAUthentication yes

可以直接在虚拟机内生成公私钥对(虚拟机作为客户端),供给vscode使用
规范的做法就在本地主机上生成

# 
sudo apt install openssh-client
# 生成密钥对,指定加密算法为rsa
ssh-keygen -t rsa

生成密钥对后,需要将公钥上传到~/.ssh/authorized_keys 。可以手动编辑该文件,也可以使用ssh-copy-id命令自动将公钥添加到服务器。

# 将公钥添加到服务器的authorized_keys文件
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@服务器地址
# 手动
cat id_rsa.pub >> ~/.ssh/authorized_keys

私钥登录命令:

ssh -i .\id_rsa  root@192.168.136.136

实测这里配置文件存在一些问题,通过手动修改配置文件中的路径值解决


虚拟机与主机通信相关配置
https://k3ppf0r.github.io/2024/12/19/杂/虚拟机网络配置/
作者
k3ppf0r
发布于
2024年12月19日
许可协议