ssh远程连接ubuntu
使用ssh远程连接的一个好处就是可以在进不去桌面的情况下操作系统
前期准备
- 控制端侧使用vscode+Remote - SSH插件
-
被控制端使用OpenSSH
sudo apt install openssh-server
-
被控制段启动ssh协议
sudo systemctl enable --now ssh
-
查看ssh协议的运行状态
sudo systemctl status ssh [sudo] jing 的密码: ● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2023-08-01 14:55:59 CST; 4h 49min ago Docs: man:sshd(8) man:sshd_config(5) Process: 961 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS) Main PID: 1002 (sshd) Tasks: 1 (limit: 33478) Memory: 3.1M CPU: 12ms CGroup: /system.slice/ssh.service └─1002 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"
网络设置
连接方式
- 控制设备和被控制设备必须能相互ping通,最简单的是直接连接同一个交换机或者路由器。
- 如果没有路由器或者交换机,可以在windows开个热点,ubuntu直接连接热点,两者也是能够ping通的
- 如果有网口的话,可以通过网线连接两个机器的网口,并固定网口的ip地址
网口配置
-
此处使用的是网线直接进行连接
-
被控制段网口配置如下
#IPv4方式为手动 ip: 192.168.1.250 子网掩码: 255.255.255.0 网关: 192.168.1.1 DNS: 192.168.1.1 路由: 192.168.1.1 子网掩码: 255.255.255.0 网关: 192.168.1.1
-
控制端除了ip不同,其余都要相同,控制端此处设置为192.168.1.40
-
使用ping命令查看网络是否畅通
# 被控制端ping控制端侧 jing@jing:~$ ping 192.168.1.40 PING 192.168.1.40 (192.168.1.40) 56(84) bytes of data. 64 bytes from 192.168.1.40: icmp_seq=1 ttl=64 time=0.228 ms 64 bytes from 192.168.1.40: icmp_seq=2 ttl=64 time=0.447 ms 64 bytes from 192.168.1.40: icmp_seq=3 ttl=64 time=0.488 ms 64 bytes from 192.168.1.40: icmp_seq=4 ttl=64 time=0.473 ms 64 bytes from 192.168.1.40: icmp_seq=5 ttl=64 time=0.472 ms 64 bytes from 192.168.1.40: icmp_seq=6 ttl=64 time=0.427 ms ^C --- 192.168.1.40 ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5104ms rtt min/avg/max/mdev = 0.228/0.422/0.488/0.089 ms # 控制端ping被控制端 jing@jing-TravelMate-TX50-G2:~$ ping 192.168.1.250 PING 192.168.1.250 (192.168.1.250) 56(84) bytes of data. 64 bytes from 192.168.1.250: icmp_seq=1 ttl=64 time=0.468 ms 64 bytes from 192.168.1.250: icmp_seq=2 ttl=64 time=0.722 ms 64 bytes from 192.168.1.250: icmp_seq=3 ttl=64 time=0.735 ms 64 bytes from 192.168.1.250: icmp_seq=4 ttl=64 time=0.635 ms 64 bytes from 192.168.1.250: icmp_seq=5 ttl=64 time=0.720 ms 64 bytes from 192.168.1.250: icmp_seq=6 ttl=64 time=0.195 ms ^C --- 192.168.1.250 ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5040ms rtt min/avg/max/mdev = 0.195/0.579/0.735/0.195 ms
-
在控制端的vscodez中编写连接的配置文件
-
如下图所示:点击ssh右侧旁的小齿轮,点击选中的配置文件,使用默认的既可
-
配置文件内容如下:
# Read more about SSH config files: https://linux.die.net/man/5/ssh_config Host 192.168.1.250 # 被控制端的ip地址 HostName 192.168.1.250 # 名称可自取 Port 22 # 端口号,默认22 User jing # 被控制端的用户名,需要登入使用
-
配置完成后,先保存一下,回到刚才的界面,就可以看到ssh下你设置的HostName,点击右侧就可以进行连接
-
之后会connect的连接确认,之后会输入被控制端用户的密码,然后就连接成功了