Linux基础 - 使用 ssh 服务管理远程主机(window linux vscode)

news2024/11/17 22:44:03

目录

零. 简介

一. 打开linux shh

二. window连接linux

三. linux连接linux

四. VSCode远程


零. 简介

SSH(Secure Shell)服务是一种网络协议,主要用于在不安全的网络环境中为计算机之间的通信提供安全的加密连接。

SSH 服务具有以下重要特点和功能:

  1. 数据加密:对所有在客户端和服务器之间传输的数据进行加密,包括登录凭证、命令执行结果、文件传输内容等,有效防止数据被窃听和篡改。

  2. 远程登录:允许用户通过网络远程登录到另一台计算机,并获得类似于本地登录的操作体验。

  3. 端口转发:能够实现端口的映射和转发,方便访问被防火墙阻挡或位于内部网络中的服务。

  4. 安全的文件传输:支持安全地在本地和远程主机之间传输文件,如 scp 命令。

  5. 灵活的认证方式:支持多种认证方法,包括基于密码的认证和基于密钥对的认证。

SSH 服务在服务器管理、远程办公、系统维护、集群管理等众多场景中发挥着关键作用,为网络通信提供了可靠的安全保障。

一. 打开linux shh

  1. 确保 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

  1. SSH 客户端

    • 您可以在 Windows 上安装一个 SSH 客户端,例如 PuTTY。
    • 打开 PuTTY 后,在“Host Name (or IP address)”字段中输入 Ubuntu 系统的 IP 地址。
    • 确保端口设置为 22(SSH 的默认端口),然后点击“Open”。
    • 首次连接时,您可能会看到一个安全警告,选择“是”继续。
    • 然后输入 Ubuntu 系统上的用户名和密码进行登录。
  2. 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 地址。

        

连接成功

  1. 使用远程桌面工具

    • 您可以在 Ubuntu 上安装 XRDP 服务来实现远程桌面连接。
    • 在 Ubuntu 上通过命令行安装 XRDP:sudo apt-get install xrdp
    • 然后在 Windows 上,通过“开始”菜单搜索“远程桌面连接”,打开该应用程序。
    • 在“计算机”字段中输入 Ubuntu 系统的 IP 地址,然后点击“连接”。
    • 输入 Ubuntu 系统的用户名和密码即可登录。

在进行远程连接之前,请确保 Ubuntu 系统已经正确配置了网络,并且防火墙没有阻止 SSH 或远程桌面连接所需的端口。

三. linux连接linux

在 Linux 系统之间进行远程连接,常用的方式也是通过 SSH 服务。

假设您要从一台 Linux 主机(称为客户端)连接到另一台 Linux 主机(称为服务器端):

在服务器端

  1. 确认 SSH 服务已安装并正在运行。大多数 Linux 发行版默认已安装并启动了 SSH 服务。您可以通过以下命令检查其状态:
   systemctl status sshd

如果未安装,可以使用相应的包管理工具进行安装,例如在基于 Debian 的系统(如 Ubuntu)中使用 sudo apt-get install openssh-server ,在基于 Red Hat 的系统(如 CentOS)中使用 sudo yum install openssh-server 。

在客户端

  1. 打开终端。
  2. 使用 ssh 命令连接服务器,命令格式通常为:
   ssh username@server_ip

其中 username 是服务器端的用户名,server_ip 是服务器的 IP 地址。
3. 首次连接时,系统会提示确认服务器的指纹,输入 yes 确认。
4. 然后输入服务器端用户的密码,即可成功登录。

如果您不想每次连接都输入密码,可以在客户端生成 SSH 密钥对,并将公钥复制到服务器端的 authorized_keys 文件中,这样就可以实现无密码登录。

四. VSCode远程

使用 VS Code 进行远程开发

  1. 在本地 Windows 电脑上下载并安装最新版的 VS Code。

  2. 安装 Remote-SSH 插件:第一次使用 VS Code 需在左侧插件栏搜索 Remote-SSH 并安装。

  3. 进行远程连接配置:

    • 左下角选择 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

  1. 配置好后重新按照上述步骤进行登陆,发现登陆名称中多了刚才新建的名称,点击进去,首先选择远程服务器的类型(Linux),若之前采用了密钥认证则不需要输入密码,否则需输入服务器端用户的密码。

  2. 首次登陆会自动在服务器端安装 VS Code server,若账号密码正确,即可登陆成功,按 Ctrl + ~ 键打开终端,可进入服务器环境进行操作。

打开文件夹

SSH 命令行方式适合执行命令行操作,对于脚本编写和快速命令执行非常有效;而 VS Code 远程开发方式适合需要图形界面和复杂编辑功能的场景,尤其是代码编辑、调试和版本控制。

此外,还可以使用一些第三方软件如 Xshell 等来实现 Windows 与 Linux 服务器的连接,具体步骤可参考相应软件的文档说明。

连接前需注意以下几点:

  1. 确保 Linux 服务器已启用 SSH 服务并获取其 IP 地址。
  2. 确认 Windows 与 Linux 服务器之间的网络通信正常。
  3. 如果使用密码认证,需妥善保管服务器端用户的账号密码;如果使用密钥认证,要确保私钥的安全。
  4. 根据实际需求选择适合的连接方式和工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1867898.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

git 中有关 old mode 100644、new mode 10075的问题解决小结

问题: 同一个文件被修改后,最后代码没有变,文件变了,导致提交了一个空文件 git diff 提示 filemode 发生改变(old mode 100644、new mode 10075) 解决办法 : 原来是 filemode 的变化&#xff…

[leetcode]first-unique-character-in-a-string 字符串中的第一个唯一字符

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int firstUniqChar(string s) {unordered_map<int, int> frequency;for (char ch: s) {frequency[ch];}for (int i 0; i < s.size(); i) {if (frequency[s[i]] 1) {return i;}}return -1;} };

【Android】【Compose】Compose里面的Row和Column的简单使用

内容 Row和Column的简单使用方式和常用属性含义 Row 在 Jetpack Compose 中&#xff0c;Row 是一种用于在水平方向排列子元素的布局组件。它类似于传统 Android 中的 LinearLayout&#xff0c;但更加灵活和强大。 Row的代码 Composable inline fun Row(modifier: Modifier…

马斯克的SpaceX星舰有多牛?我们离殖民火星还有多远?

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 埃隆马斯克是一位知名的企业家和工程师&#xff0c;他掌握着多家公司&#xff0c;涉及多个领域&#xff0c;包括电动汽车、太空探索、太阳能、脑…

钉钉在MAKE 2024大会上宣布开放AI生态;NBC将用AI主播播报巴黎奥运会内容

&#x1f680; 钉钉在MAKE 2024大会上宣布开放AI生态 摘要&#xff1a;钉钉总裁叶军在MAKE 2024生态大会上宣布&#xff0c;钉钉将对所有大模型厂商开放&#xff0c;构建“国内最开放AI生态”。目前已有六家大模型厂商接入钉钉&#xff0c;用户可直接使用七家大模型产品。未来…

无人机赋能空间规划

城乡规划 高效构建实景三维模型&#xff0c;直 观反映地貌与建筑信息&#xff0c;辅 助设计人员进行科学规划。 业务挑战 BIM设计图、道路矢量图、卫星影像图无法进行精准匹配 传统测绘方式获得的二维图无法展示三维环境信息 BIM设计图与实景模型差异大&#xff0c;规划效…

Taro +vue3 中的微信小程序中的分享

微信小程序 右上角分享 的触发 以及配 useShareAppMessage(() > {return {title: "电影属全国通兑券",page: /pages/home/index,imageUrl: "http:///chuanshuo.jpg",};}); 置 就是Taro框架中提供的一个分享Api 封装好的

MQTT遗嘱信息(1)

本文内容参考&#xff1a; 什么是MQTT遗嘱消息&#xff1f;如何配置和处理遗嘱消息&#xff1f;_mqtt last will-CSDN博客 【MQTT基础篇&#xff08;十五&#xff09;】MQTT遗嘱_last-will qos-CSDN博客 MQTT 协议学习&#xff1a;Retained&#xff08;保留消息&#xff09;…

【Python实战】零基础实战教程(一) Hello World!

【Python实战】零基础Python实战教程 一、前言二、官方 Python3.12 版本安装教程1、下载2、安装3、测试 三、安装 Python 编译器1、下载2、安装3、启动 四、Hello World!1、创建项目2、创建 hellow_world.py 文件3、在控制台打印 Hellow World&#xff01; 一、前言 由于公司新…

期货的杠杆怎么计算?

什么是杠杆系数 杠杆系数是指期货合约价值与保证金之间的比例。它表示投资者只需投入少量资金&#xff0c;就可以控制价值更高的期货合约。杠杆系数越高&#xff0c;投资者的资金放大倍数就越大&#xff0c;但风险也越大。 什么是期货保证金呢&#xff1f; 期货保证金&…

微前端框架是为了解决项目应用在大型项目中带来的复杂性和维护难题而提出的技术方案。

微前端框架是为了解决单页应用&#xff08;SPA&#xff09;在大型项目中带来的复杂性和维护难题而提出的技术方案。Qiankun.js、MicroApp 和 Wujie 是三种流行的微前端框架。以下是对这三种框架的优缺点分析&#xff1a; Qiankun.js 优点 成熟度高&#xff1a;Qiankun.js 基…

麦克风什么牌子的音质效果好?揭秘领夹麦克风哪个牌子音质好

近年来&#xff0c;随着网络直播、短视频、网课等新兴行业的兴起&#xff0c;大家对麦克风的需求量不断增加。而领夹麦克风作为一种轻便、便携的录音设备&#xff0c;也是得到了广大用户的青睐。一款优质的领夹麦克风能够带来更清晰、更真实的声音效果&#xff0c;让我们在在各…

SAP ABAP 常用实用类

文章目录 前言一、输出 展示 数据信息 a.将 JSON 格式化为可读 并以弹框形式输出 b.将内表内容以表格形式输出 c.弹框形式显示 HTML 内容。也能显示包含js 的html。也可以显示pdf 图片 二、输入 获取 数据信息 a.弹框 添加 输入框…

python e怎么表示

exp()方法返回x的指数&#xff0c;ex。 语法 以下是 exp() 方法的语法: import math math.exp( x ) 注意&#xff1a;exp()是不能直接访问的&#xff0c;需要导入 math 模块&#xff0c;通过静态对象调用该方法。 参数 x -- 数值表达式。 返回值 返回x的指数&#xff0c;…

怎样恢复数据?原来只要3个方法,真是救大命了

无论是工作文件&#xff0c;还是个人的照片、视频&#xff0c;手机数据都承载着我们的记忆和努力。但如果不小心删除了&#xff0c;我们该怎样恢复数据呢&#xff1f;其实&#xff0c;恢复数据并不是一件复杂的事情&#xff0c;只要掌握正确的方法&#xff0c;我们就能有效地找…

Amazon Q:对话智能赋能企业发展

在最近举办的亚马逊云科技大会上&#xff0c;引人瞩目的消息是 Amazon Q 的推出&#xff0c;这是一款专注于生成式 AI 支持的新型助手。与其他智能助手相比&#xff0c;Amazon Q 助手聚焦在办公场景&#xff0c;具有针对性&#xff0c;旨在提供更为准确和个性化的服务。 一、Am…

TikTok短视频矩阵系统

随着数字化时代的到来&#xff0c;短视频已成为人们获取信息、娱乐消遣的重要渠道。TikTok&#xff0c;作为全球最受欢迎的短视频平台之一&#xff0c;其背后的短视频矩阵系统是支撑其成功的关键因素。本文将深入探讨TikTok短视频矩阵系统的构成、功能以及它在新媒体时代中的影…

面试-Java线程池

1.利用Excutors创建不同的线程池满足不同场景的需求 分析&#xff1a; 如果并发的请求的数量非常多&#xff0c;但每个线程执行的时间非常短&#xff0c;这样就会频繁的创建和销毁线程。如此一来&#xff0c;会大大降低系统的效率。 可能出现&#xff0c;服务器在为每个线程创建…

【Python实战因果推断】2_因果效应异质性2

目录 CATE with Regression Evaluating CATE Predictions CATE with Regression 我想你可能已经预料到了&#xff1a;与应用因果推理中的大多数情况一样&#xff0c;答案往往从线性回归开始。但在走这条路之前&#xff0c;让我们把事情变得更具体一些。假设你在一家遍布全国的…

python API自动化(Pytest+Excel+Allure完整框架集成+yaml入门+大量响应报文处理及加解密、签名处理)

1.pytest数据参数化 假设你需要测试一个登录功能&#xff0c;输入用户名和密码后验证登录结果。可以使用参数化实现多组输入数据的测试: 测试正确的用户名和密码登录成功 测试正确的用户名和错误的密码登录失败 测试错误的用户名和正确的密码登录失败 测试错误的用户名和密码登…