【完整过程】vscode连接远程Linux服务器及免密登陆

2023-10-27

写在开头
做深度学习科研难免需要较大的算力,此时就需要在GPU服务器上运行自己的程序。之前,我通过scp命令把代码上传到服务器后,在终端ssh连接服务器,通过一系列的Linux命令进行数据集和模型的操作。其实cd ls这些命令都还很方便,但是当我需要查看或修改源码时,用vim编辑总是不能给我舒适的体验。甚至,服务器上的vim有时会出现排版或编写时bug(注:我不是说vim不方便,vim实际上是Linux系统强大的工具,而是最近我在服务器上遇到了vim的一些bug ~ 可以理解为我的求生欲哈哈哈)。
所以,为了更好的体验,这里记录一下vscode连接远程Linux服务器及免密登陆的基本操作。

步骤1:在本机生成公钥和私钥
在cmd中输入:

ssh-keygen -t rsa -C “your_email@xxx.com”

于是,在以下目录中能找到公私钥文件:
在这里插入图片描述
其中,id_rsa.pub是公钥,id_rsa是私钥。如果执行命令前,已经存在公私钥文件,则会重新生成后进行覆盖。

步骤2:在vscode安装Remote-SSH
进入vscode插件,搜索并安装即可:
在这里插入图片描述

步骤3:服务器端添加私钥到authorized_keys
将本机生成的rsa_id.pub公钥上传至服务器中,然后将其 追加(cat命令) 写入到~/.ssh目录下的authorized_keys文件中:

cat id_rsa.pub >> authorized_keys

在这里插入图片描述
为什么是追加写入?因为可能存在其他用户的公钥,千万别覆盖写入!
如果~/.ssh目录下没有authorized_keys文件,则需要我们手动创建一个:

touch authorized_keys

然后用cat命令写入将公钥写入文件。

步骤4:本机配置vscode文件
首先,进入vscode点击左侧的“远程资源管理器”,点击“+”:
在这里插入图片描述
然后,在界面上方输入你要连接的ssh命令(用户名 ip地址 端口号),示例如下:
在这里插入图片描述
选择ssh配置文件时,请选择.ssh/config这个文件,如图:
在这里插入图片描述
在这个文件中,存放着我们所配置过的所有远程连接信息:
在这里插入图片描述
当弹窗选择操作系统时,选择“Linux”即可。

步骤5:选择服务器文件夹开始使用

在这里插入图片描述

于是,就可以进行类似于Windows系统的可视化文件操作了。
在这里插入图片描述
实用功能!!!拖拽上传文件到服务器
将本机的文件,直接拖入vscode的目录栏中,即可实现文件的上传,无需繁琐的scp命令进行上传。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
但是,要从服务器下载文件到本机的话,暂不支持拖拽下载。但是,在文件上点击右键,然后点击下载,也能实现快捷的下载功能。

其他实用操作:文件的删除、移动、重命名
和本地电脑一样管理文件就OK了。
注意一点就是,尽量避免在vscode上进行大文件的文件操作,因为有可能会导致宕机。大文件还是在命令行中进行 rm cp 等操作较为稳妥。

权限问题!
如果服务器端和本机vscode都配置完成,但是仍然需要输入密码,就要考虑到服务器端权限的问题了,通常采用如下命令解决:

cd ~
chmod 700 .ssh
cd .ssh
chmod 644 authorized_keys 
chmod 644 id_rsa.pub
chmod 600 id_rsa

记住以下权限原则:

1)authorized_keys的权限必须是600或者644
2).ssh目录的权限必须是700
3)/home/user目录必须是755
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【完整过程】vscode连接远程Linux服务器及免密登陆 的相关文章

  • 选择fasta文件中氨基酸超过300个且“C”出现至少4次的序列

    我有一个包含蛋白质序列的 fasta 文件 我想选择超过 300 个氨基酸且半胱氨酸 C 氨基酸出现超过 4 次的序列 我使用此命令来选择具有超过 300 个 aa 的序列 cat 72hDOWN fasta fasta bioawk c
  • 在 scapy 中通过物理环回发送数据包

    我最近发现了 Scapy 它看起来很棒 我正在尝试查看 NIC 上物理环回模块 存根上的简单流量 但是 Scapy sniff 没有给出任何结果 我正在做的发送数据包是 payload data 10 snf sniff filter ic
  • Bash:将字符串添加到文件末尾而不换行

    如何将字符串添加到文件末尾而不换行 例如 如果我使用 gt gt 它将添加到文件末尾并换行 cat list txt yourText1 root host 37 echo yourText2 gt gt list txt root hos
  • bash while 循环的布尔表达式中的 -lt 意味着什么?

    我猜测它代表小于基于输出 但是我在哪里可以找到有关此语法的文档 bin bash COUNTER 0 while COUNTER lt 10 do echo The counter is COUNTER let COUNTER COUNTE
  • 如何在 Linux 和 C 中使用文件作为互斥体?

    我有不同的进程同时访问 Linux 中的命名管道 并且我想让此访问互斥 我知道可以使用放置在共享内存区域中的互斥体来实现这一点 但作为一种家庭作业 我有一些限制 于是 我想到的是对文件使用锁定原语来实现互斥 我做了一些尝试 但无法使其发挥作
  • BASH:输入期间按 Ctrl+C 会中断当前终端

    我的 Bash 版本是 GNU bash version 4 3 11 1 release x86 64 pc linux gnu 我有一段这样的代码 while true do echo n Set password read s pas
  • 如何并行执行4个shell脚本,我不能使用GNU并行?

    我有4个shell脚本dog sh bird sh cow sh和fox sh 每个文件使用 xargs 并行执行 4 个 wget 来派生一个单独的进程 现在我希望这些脚本本身能够并行执行 由于某些我不知道的可移植性原因 我无法使用 GN
  • 如何从 C++ 程序中重新启动 Linux?

    我有一个 Qt 4 GUI 我需要在下拉菜单中提供一个选项 允许用户选择重新启动计算机 我意识到这对于以其他方式重新启动计算机的能力来说似乎是多余的 但选择需要保留在那里 我尝试使用 system 来调用以下内容 suid root she
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • 如何在线程创建和退出时调用函数?

    include
  • 如何在 Linux 上通过 FTP 递归下载文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 为什么 fork 炸弹没有使 android 崩溃?

    这是最简单的叉子炸弹 我在许多 Linux 发行版上执行了它 但它们都崩溃了 但是当我在 android 终端中执行此操作时 即使授予后也没有效果超级用户权限 有什么解释为什么它没有使 Android 系统崩溃吗 一句话 ulimit Li
  • ALSA:snd_pcm_writei 调用时缓冲区不足

    当运行我最近从灰烬中带回来的旧程序时 我遇到了缓冲区不足的情况 该程序将原始声音文件完全加载到内存中 2100 字节长 525 帧 并准备 ALSA 进行输出 44 1khz 2 通道 有符号 16 位 if err snd pcm set
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 C 中使用单个消息队列是否可以实现双向通信

    我希望服务器向客户端发送一些消息 并让客户端确认它 我被分配了这个任务 我可以在 C linux 中使用单个消息队列来完成它还是我需要创建两个 谢谢 是的 可以使用 sysV 消息队列来做到这一点 从您之前的问题来看 您正在使用该队列 您可
  • Google BQ:运行参数化查询,其中参数变量是 BQ 表目标

    我正在尝试从 Linux 命令行为 BQ 表目标运行 SQL 此 SQL 脚本将用于多个日期 客户端和 BQ 表目标 因此这需要在我的 BQ API 命令行调用中使用参数 标志 parameter 现在 我已经点击此链接来了解参数化查询 h
  • 在 .gitconfig 中隐藏 GitHub 令牌

    我想将所有点文件存储在 GitHub 上 包括 gitconfig 这需要我将 GitHub 令牌隐藏在 gitconfig 中 为此 我有一个 gitconfig hidden token 文件 这是我打算编辑并放在隐藏令牌的 git 下
  • 我们真的应该使用 Chef 来管理 sudoers 文件吗?

    这是我的问题 我担心如果 Chef 破坏了 sudoers 文件中的某些内容 可能是 Chef 用户错误地使用了说明书 那么服务器将完全无法访问 我讨厌我们完全失去客户的生产服务器 因为我们弄乱了 sudoers 文件并且无法再通过 ssh
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的

随机推荐

  • 第十三届蓝桥杯模拟赛(第三期)试题与题解 C++

    文章目录 第十三届蓝桥杯模拟赛 第三期 试题与题解 1 试题A 题解 数制转换 2 试题B 题解 枚举 3 试题C 题解 枚举 4 试题D 题解 最小生成树 5 试题E 方法一 暴力求和 方法二 一维前缀和 方法二 二维前缀和 6 试题F
  • 一文弄清CSS三角形、梯形的本质

    核心就是border 有如下几个定理 1 border的最初表现形式为矩形 当邻边矩形存在时 两个矩形之间会用三角形补齐 2 border的高度由border width决定 border中矩形的长度由内部的宽度决定 所以说 由以上定理可知
  • vim 光标快速移动技巧总结(vim高级操作的基础)

    简单的移动适合小范围移动 利用查找适合大范围移动 利用wb以word为单位进行移动类似hjkl适合小范围移动 移动到行首行尾适合行内移动 移动到文本开头和文本结尾适合大范围移动 利用行号移动到某一行适合大范围移动 翻页适合大范围移动 利用标
  • Docker Desktop 安装和使用 (Windows)

    下载Docker Desktop 下载地址 Download Docker Desktop Docker 程序默认自动安装在C盘 如果想自定义盘符安装 需要在安装前 删除如下目录 C Program Files Docker 在D盘新建目录
  • [MATLAB] 初学入门 运用plot()函数绘制函数图像

    本文将讲述使用matlab绘制三角函数方程 参数函数方程 分段函数方程及超越函数方程图像的方法 开门见山 直接来看几道例题 A 画出方程y tan x 的图像 clc 清除命令窗口的内容 clear 清除工作空间的所有变量 clear al
  • python闯红灯检测斑马线检测红绿灯检测车速检测车流量统计车牌识别智慧交通系统

    本项目是使用pytorch作为深度学习框架的智能交通检测系统 可以识别并处理路口交通状况 目前完成的功能有 车辆 行人 摩托车 斑马线检测识别 红绿灯检测识别 车辆跟踪 车速判断 超速行为识别 交通拥堵状况识别 车流量统计 车牌检测识别 行
  • CTF(二)DES中的S盒

    如图 若输入101100 则输出0111
  • RocketMq-主从集群搭建

    目录 1 服务器列表 2 下载安装包 3 node1节点修改runserver sh文件 4 所有节点安装jdk 5 node1节点配置RocketMQ集群 1 配置node1节点borker a的master配置文件 2 配置node2节
  • SpringBoot 搭建CAS 客户端 和CAS 服务端

    第一步 搭建CAS5 3 服务端 Github 下载CAS5 3 服务端版本 https github com apereo cas overlay template tree 5 3 注意 最新的master分支使用的需要java11 该
  • C# FTP操作类

    可进行FTP的上传 下载等其他功能 支持断点续传 using System using System Collections Generic using System IO using System Linq using System Ne
  • Flutter Image 参数详解

    1 继承关系 Object gt Diagnosticablet gt DiagnosticableTreet gt Widgett gt StatefulWidgett gt Image 2 介绍 一个显示图片的widget 支持图像格式
  • Could not autowire field: private com.xxx.dao(已解决)

    最近刚在做一个关于o2o在线资源回收的一个项目 用到的框架就是SSM框架 可能有一段时间没有写代码了 一些常见的错误都折腾了半天 直接进入正题 这个图片就是当时报错的图片 当时是在控制器里注解接口的时候 运行程序直接就报错 Autowire
  • 基于springboot+vue的前后端分离后项目部署方案

    markdown body line height 1 75 font weight 400 font size 16px overflow x hidden color rgba 51 51 51 1 markdown body h1 m
  • 2023国赛数学建模思路 - 案例:感知机原理剖析及实现

    文章目录 1 感知机的直观理解 2 感知机的数学角度 3 代码实现 4 建模资料 0 赛题思路 赛题出来以后第一时间在CSDN分享 https blog csdn net dc sinor type blog 1 感知机的直观理解 感知机应
  • java 环境配置(详细教程)

    文章目录 前言 一 jdk 下载 二 windows 1 jdk 安装 2 环境变量的配置 2 1 Java Home 配置 2 2 Path 配置 2 3 CLASSPATH 配置 3 检测是否配置成功 前言 java 环境配置 网上教程
  • 使用python对创芯科技CANalyst-II分析仪进行二次开发(详细教程)

    公司开发项目中 需要写一段程序发送和读取CAN总线的信息 目前主要使用PCAN官方设备 PCANBasic dll 或者通过ZLG周立功的CAN设备 ControlCAN dll来进行读取和发送 除此之外 也有其他品牌 其设备的基本用法及二
  • JS逆向-知乎x_zse_96和x_zst_81参数分析

    网上有关知乎pc端的x zse 96和x zst 81分析已经很多了 这里就不在重复叙述了 上张图片看看效果 支持最新3 0版本的 测试了搜索和文章等许多接口都可以使用 知乎x zst 81 101 3 3 0 api v4 search
  • [Python]Udacity self-driving数据集转yolo格式(目标检测任务)

    数据集下载 https github com udacity self driving car tree master annotations 本文转化的脚本适用于datasets1 即crowdai的标注数据集 对于autt的stuff标
  • 西瓜书第六章——支持向量机

    西瓜书第六章 支持向量机 前言 一 间隔与支持向量 1 1 算法原理 1 2 超平面 1 3 几何间隔 1 4 支持向量机 1 4 1 模型 1 4 2 策略 二 对偶问题 2 1 凸优化问题 2 2 拉格朗日对偶问题 2 3 拉格朗日对偶
  • 【完整过程】vscode连接远程Linux服务器及免密登陆

    写在开头 做深度学习科研难免需要较大的算力 此时就需要在GPU服务器上运行自己的程序 之前 我通过scp命令把代码上传到服务器后 在终端ssh连接服务器 通过一系列的Linux命令进行数据集和模型的操作 其实cd ls这些命令都还很方便 但