大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
配置虚拟机网络
-
设置网络适配器连接为 桥接
-
ping baidu.com,看一下虚拟机是否可以联网。可以ping通说明虚拟机已经可以联网,配置没有问题
root@ubuntu:~$ ping www.baidu.com PING www.a.shifen.com (180.101.49.11) 56(84) bytes of data. 64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=1 ttl=45 time=29.8 ms 64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=2 ttl=45 time=28.8 ms 64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=3 ttl=45 time=28.8 ms 64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=4 ttl=45 time=30.2 ms
-
获取当前虚拟机的ip。
root@ubuntu:~$ ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.10.119 netmask 255.255.255.0 broadcast 192.168.10.252 inet6 fe80::dc87:af4d:a711:a1c4 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:04:3e:bf txqueuelen 1000 (Ethernet) RX packets 11261 bytes 3981183 (3.9 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2072 bytes 199955 (199.9 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
当前获取的IP 一般是动态IP。Ubuntu 下可以通过命令
root@ubuntu:~$ cat /etc/network/interfaces # interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback auto ens33 # 此时为 dhcp ip动态分配 iface ens33 inet dhcp
-
本地系统使用cmd命令窗口,如果可以ping通(192.168.10.119)说明已经可以连接了。
如果在本地可以ping通 虚拟机的ip,就可以通过xshell连接了。
如果没有ping通可以看一下linux防火墙是否关闭。
Xshell 连接
一般我们连接linux时使用ssh连接协议。
理想的步骤
点击【文件】->【新建】打开新建会话属性弹框,输入虚拟机的主机ip。
切换选项卡【用户身份验证】。输入用户名,密码
需要注意的是该用户名不是系统的登录用户名。
而是新建一个命令窗口后通过who
指令显示的当前用户名。
root@ubuntu:~$ who
root:0 2019-12-10 23:50 (:0)
本例就是: root
设置完属性 点击【确定】按钮就不出意外可以连接上了。
意外后的步骤
Connection failed
如果出了意外呢??
目前就处于 ip可以ping通,但是xshell连接失败。
-
检查虚拟机
ssh
是否启动。root@ubuntu:~$ ps -e | grep ssh 1405 ? 00:00:00 ssh-agent
没有看到
sshd
就说明未启动,选择下面的一种方式手动启动就好了sudo service sshd start sudo /etc/init.d/ssh start
正常启动没有提示(可以ps查看是否启动)。如果未安装则会报出以下错误
Failed to start sshd.service: Unit sshd.service not found.
使用下面的命令安装即可,安装过程中可能因为(openssh-client)版本不兼容的问题。
sudo apt install openssh-server
安装成功后默认就会启动服务。
-
如果ssh已启动,还是无法连接,那么需要查看ssh的配置文件。监听端口号等信息是否修改
cat /etc/ssh/ssh_config
出现弹框
用户名或者密码有误。请检查用户名、密码是否正确。
尤其是用户名 要保证和 打开终端(Terminal)时前面提示的用户名一致。
root@ubuntu:~$
本例就是:root
。
如果要修改密码,点击左上角菜单【文件】–>【打开】。弹出以下弹框
选中要修改的连接右键点击【属性】,弹出会话框。切换【用户身份验证】,修改用户名、密码
错误
安装 openssh-server错误
root@ubuntu:~$ sudo apt install openssh-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
openssh-server : Depends: openssh-client (= 1:7.6p1-4ubuntu0.3)
Depends: openssh-sftp-server but it is not going to be installed
Recommends: ssh-import-id but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
这是因为openssh-server
依赖于openssh-client
。ubuntu是自带openssh-client
的但是版本不匹配,所以在蛞后后面给出了它依赖的版本(= 1:7.6p1-4ubuntu0.3
)。
这样我们只需要安装1:7.6p1-4ubuntu0.3
版本的openssh-client
就可以了。
root@ubuntu:~$ sudo apt install openssh-client=1:7.6p1-4ubuntu0.3
之后就会打出一些日志信息,并询问你是否需要继续。输入 y
(不区分大小写)就会进行依赖包的下载
After this operation, 4132 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
之后再安装 openssh-server
就可以了。
安装完成后,查看进程信息,如果显示sshd
则说明成功安装openssh-server。
root@ubuntu:~$ ps -e |grep ssh
1405 ? 00:00:00 ssh-agent
4593 ? 00:00:00 sshd
参看文章:
Xshell连接虚拟机中的Ubuntu
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/190479.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...