目录
零. 简介
一. 打开linux shh
二. window连接linux
三. linux连接linux
四. VSCode远程
零. 简介
SSH(Secure Shell)服务是一种网络协议,主要用于在不安全的网络环境中为计算机之间的通信提供安全的加密连接。
SSH 服务具有以下重要特点和功能:
数据加密:对所有在客户端和服务器之间传输的数据进行加密,包括登录凭证、命令执行结果、文件传输内容等,有效防止数据被窃听和篡改。
远程登录:允许用户通过网络远程登录到另一台计算机,并获得类似于本地登录的操作体验。
端口转发:能够实现端口的映射和转发,方便访问被防火墙阻挡或位于内部网络中的服务。
安全的文件传输:支持安全地在本地和远程主机之间传输文件,如
scp
命令。灵活的认证方式:支持多种认证方法,包括基于密码的认证和基于密钥对的认证。
SSH 服务在服务器管理、远程办公、系统维护、集群管理等众多场景中发挥着关键作用,为网络通信提供了可靠的安全保障。
一. 打开linux shh
- 确保 SSH 服务已安装并正在运行。您可以通过以下命令检查和安装:
sudo apt-get update
sudo apt-get install openssh-server
安装完成后,SSH 服务会自动启动。您可以使用以下命令查看其状态:
sudo systemctl status ssh
确认虚拟机的网络设置为“桥接模式”或“NAT 模式”,并获取虚拟机中 Ubuntu 系统的 IP 地址。您可以在 Ubuntu 系统中使用 ifconfig
命令(或者 ip addr
命令)来查看 IP 地址。
二. window连接linux
-
SSH 客户端
- 您可以在 Windows 上安装一个 SSH 客户端,例如 PuTTY。
- 打开 PuTTY 后,在“Host Name (or IP address)”字段中输入 Ubuntu 系统的 IP 地址。
- 确保端口设置为 22(SSH 的默认端口),然后点击“Open”。
- 首次连接时,您可能会看到一个安全警告,选择“是”继续。
- 然后输入 Ubuntu 系统上的用户名和密码进行登录。
-
Windows 10 内置的 OpenSSH
- 如果您使用的是 Windows 10 1809 及更高版本,可以启用内置的 OpenSSH 客户端。
- 按“Win + X”,选择“Windows PowerShell(管理员)”或“Windows 终端(管理员)”。
- 运行以下命令安装 OpenSSH 客户端:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
- 然后在 PowerShell 或 Windows 终端中使用以下命令连接:
ssh username@ubuntu_ip_address
,其中“username”是 Ubuntu 系统上的用户名,“ubuntu_ip_address”是 Ubuntu 系统的 IP 地址。
连接成功
-
使用远程桌面工具
- 您可以在 Ubuntu 上安装 XRDP 服务来实现远程桌面连接。
- 在 Ubuntu 上通过命令行安装 XRDP:
sudo apt-get install xrdp
- 然后在 Windows 上,通过“开始”菜单搜索“远程桌面连接”,打开该应用程序。
- 在“计算机”字段中输入 Ubuntu 系统的 IP 地址,然后点击“连接”。
- 输入 Ubuntu 系统的用户名和密码即可登录。
在进行远程连接之前,请确保 Ubuntu 系统已经正确配置了网络,并且防火墙没有阻止 SSH 或远程桌面连接所需的端口。
三. linux连接linux
在 Linux 系统之间进行远程连接,常用的方式也是通过 SSH 服务。
假设您要从一台 Linux 主机(称为客户端)连接到另一台 Linux 主机(称为服务器端):
在服务器端:
- 确认 SSH 服务已安装并正在运行。大多数 Linux 发行版默认已安装并启动了 SSH 服务。您可以通过以下命令检查其状态:
systemctl status sshd
如果未安装,可以使用相应的包管理工具进行安装,例如在基于 Debian 的系统(如 Ubuntu)中使用 sudo apt-get install openssh-server
,在基于 Red Hat 的系统(如 CentOS)中使用 sudo yum install openssh-server
。
在客户端:
- 打开终端。
- 使用
ssh
命令连接服务器,命令格式通常为:
ssh username@server_ip
其中 username
是服务器端的用户名,server_ip
是服务器的 IP 地址。
3. 首次连接时,系统会提示确认服务器的指纹,输入 yes
确认。
4. 然后输入服务器端用户的密码,即可成功登录。
如果您不想每次连接都输入密码,可以在客户端生成 SSH 密钥对,并将公钥复制到服务器端的 authorized_keys
文件中,这样就可以实现无密码登录。
四. VSCode远程
使用 VS Code 进行远程开发
在本地 Windows 电脑上下载并安装最新版的 VS Code。
安装 Remote-SSH 插件:第一次使用 VS Code 需在左侧插件栏搜索 Remote-SSH 并安装。
进行远程连接配置:
- 左下角选择 Open a remote window 然后选择 Connect to Host;
- 选择 Add New SSH Host(偶尔登录使用)或 Configure SSH Hosts(经常登录使用)。若选择后者,需要新建一个配置文件(一般在 C 盘用户目录下,如
C:\Users\用户名\.ssh\config
),在配置文件中填入相关信息,如:
Host 自定义的Host名称
HostName 服务器的IP地址
Port 22(SSH 对应的端口号)
User 服务器上注册的用户名
配置好后,在终端输入 Host 名称(如ssh 自定义的Host名称
),等同于ssh your_user_name@server_ip
。
配置好后重新按照上述步骤进行登陆,发现登陆名称中多了刚才新建的名称,点击进去,首先选择远程服务器的类型(Linux),若之前采用了密钥认证则不需要输入密码,否则需输入服务器端用户的密码。
首次登陆会自动在服务器端安装 VS Code server,若账号密码正确,即可登陆成功,按 Ctrl + ~ 键打开终端,可进入服务器环境进行操作。
打开文件夹
SSH 命令行方式适合执行命令行操作,对于脚本编写和快速命令执行非常有效;而 VS Code 远程开发方式适合需要图形界面和复杂编辑功能的场景,尤其是代码编辑、调试和版本控制。
此外,还可以使用一些第三方软件如 Xshell 等来实现 Windows 与 Linux 服务器的连接,具体步骤可参考相应软件的文档说明。
连接前需注意以下几点:
- 确保 Linux 服务器已启用 SSH 服务并获取其 IP 地址。
- 确认 Windows 与 Linux 服务器之间的网络通信正常。
- 如果使用密码认证,需妥善保管服务器端用户的账号密码;如果使用密钥认证,要确保私钥的安全。
- 根据实际需求选择适合的连接方式和工具。