解决方案

vscode+Linux服务器

解决连接问题

vscode商店下载remote-ssh工具,然后进行配置。

这个网上依旧有很多详细的教程了,这里就不过多赘述。

配置免密登录

这一部分是我要重点介绍的,因为我就在这里卡了很长时间。

在已经能够连接的基础上,我们要使用“密钥”来实现免密登录连接,这样我们就不用每次都输入密码进行登录。

(1)在本地机器上生成密钥对(如果你已经生成过密钥对,可以跳过此步骤)

  在这里,我们的本地机器就是Windows机器,要生成密钥对,我们要借助一个具备SSH功能的工具(比如OpenSSH,gitbash之类的)。因为之前安装过git,所以我就使用gitbash来操作。

  在SSH工具下执行 ssh -keygen -t rsa,然后就不用管他,一路回车,我们就会在我们本地 C/Users/用户名/.ssh文件夹下看到生成的 id_rsa(私钥)和id_rsa_pub(公钥)两个钥匙

(2)把公钥的内容复制到Linux服务器的 home/用户名/.ssh/authorized_keys文件中

  这个内容复制过程,你手动复制黏贴也行,你用命令行操作也是OK,反正把刚刚Windows机器生成的id_rsa_pub内容弄到这个authorized_keys文件中即可(如果没有这个authorized_keys文件,你就手动创建就行)。

基本上,很多人完成到这里就已经能够实现免密登录了,试一试行不行,不行我们就往下继续解决无法免密登录的问题。

无法免密登录解决指南

(1)Linux服务器中的文件权限问题

  .ssh和authorized_keys这两个文件(目录)是有权限要求的,.ssh需要700,authorized_keys需要600或644

  用两个命令实现:chmod 700 ~/.ssh    和     chmod 600 ~/.ssh/authorized_keys

(2)sshd_config配置文件需要修改

  • 一是确保Linux服务器中 /etc/ssh/sshd_config文件中的 StrictModes 是处于 no 状态,一般StrictModes默认是yes状态,所以我们要找到#StrictModes yes这一行,然后改成 StrictModes no
  • 二是确保Linux服务器中 /etc/ssh/sshd_config文件中的 PubkeyAuthentication 处于yes 状态,一般默认就是yes ,如果不是yes,就改成PubkeyAuthentication yes即可
  • 全部改完后,一定要重启sshd服务:systemctl restart sshd.service

(3)如果到这里还是不行,并且你使用的是很久之前就已经生成的密钥,我的建议是重新生成密钥,我就是重新生成密钥后成功的

Windows连接Linux服务器远程开发解决方案的更多相关文章

  1. Windows连接Linux服务器中MySQL数据库-权限配置

    问题描述 在Windows系统中安装了监控MySQL数据库服务器性能的工具Spotlight on MySQL,利用Spotlight连接Linux服务器中的MySQL,进行相关配置如下:   点击& ...

  2. 使用VSCode的Remote-SSH连接Linux进行远程开发

    安装Remote-SSH并配置 首先打开你的VSCode,找到Extensions,搜索Remote,下载Remote-Developoment插件,会自动安装其他的Remote插件,其中会包含Rem ...

  3. .Net Core 在Linux服务器下部署程序--(1). Windows 连接 Linux服务器

    下载Linux服务器连接软件,市面上有Putty,FinalShell等,我以FinalShell为例,下载地址为 :http://www.hostbuf.com/t/988.html,软件安装结束后 ...

  4. vscode远程连接linux服务器,可视化绘图

    vscode远程连接linux服务器 想要实现的功能和解决方案 实现的功能: windows下直接使用远程linux服务器的python环境和文件来编写和运行py文件, 实时的编写py文件,和可视化绘 ...

  5. Linux - Windows10连接linux服务器

    当我们通过windows连接服务器时,大多数用的是ssh客户端软件,推荐使用ssh,安全系数比较高.下面介绍用telnet连接服务器. 客户端:C:\Users\dell>systeminfo主 ...

  6. 【转】使用vnc连接linux服务器方便hadoop开发调试

    VNC(Virtual Network Computing)它能将完整的窗口界面通过网络,传输到另一台计算机的屏幕上. 类似的软件在Windows服务器中包含的"Terminal Serve ...

  7. Sublime 远程连接 Linux服务器

    Sublime是一款强大的编辑器,它的强大体现在它强大的插件. 要实现Sublime 远程连接 Linux服务器,需要使用插件SFTP. 一. 插件安装 用Package Control安装插件按下C ...

  8. widows本地-xshell实现远程连接linux服务器图形界面

    本地环境远程连接linux图形界面,常用的实现工具有,VNC.Puty.Xshell等,这里我们用的xshell manager: Xmanager简介:Xmanager是一个运行于 Windows平 ...

  9. 如何在Windows系统上利用Telnet协议连接Linux服务器

    Telnet协议是Internet远程登录服务的标准协议,它为用户提供了在本地计算机上完成远程主机工作的能力.很多终端使用者都习惯在计算机上利用Telnet会话来远程控制服务器.这里小编就分两步为大家 ...

随机推荐

  1. Postman系列三:Postman中post接口实战(上传文件、json请求)

    一:接口测试过程中GET请求与POST请求的主要区别 从开发角度我们看get与post的主要区别是:1.Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据:2.Get安全性比Post低 ...

  2. 在ensp上利用单臂路由实验VLAN间路由

    我们为什么要设置单臂路由? 因为我们要解决不同vlan,不同网络的PC机间的通信问题~ 那它为啥叫单臂路由嘞? 单臂路由的原理时通过一台路由器,使vlan间互通数据通过路由器进行三层转发,如果在路由器 ...

  3. springboot整合mybatis,mongodb,redis

    springboot整合常用的第三方框架,mybatis,mongodb,redis mybatis,采用xml编写sql语句 mongodb,对MongoTemplate进行了封装 redis,对r ...

  4. python基础 — Mysql Server

    sql server对于字符类型的有:char:固定长度,存储ANSI字符,不足的补英文半角空格.nchar:固定长度,存储Unicode字符,不足的补英文半角空格varchar:可变长度,存储ANS ...

  5. Js学习02--变量、关键字、标识符

    一.Js变量的定义 1.定义变量的目的 在内存中分配一块存储空间给变量,方便以后存储数据. 2.如何定义变量 任何变量在使用前都必须定义变量 var 变量名称 eg: var name,age,sex ...

  6. ADO.NET 一般操作(c#)

    ADO.NET五大对象:SqlConnection.SqlCommand.SqlDataReader.SqlDataAdapter .DataSet ,其中SqlDataAdapter 不建议使用 一 ...

  7. javascript 同源策略和 JSONP 的工作原理

    同源策略 同源策略是一个约定,该约定阻止当前脚本获取或操作另一域的内容.同源是指:域名.协议.端口号都相同. 简单地说,A 服务器下的 a 端口执行 ajax 程序,不能获取 B 服务器或者 A 服务 ...

  8. Crontab详细用法-定时任务详解

    crontab是linux系统或unix系统中常用的定时命令,使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux/unix命令.例如系统管理员安排一个备份任务使其每天都运行 ...

  9. postman 测试Api接口注意事项

    1.简单数据传输 2.对象传输 使用的是post方式请求 在Headers设置: 在Body写入对象信息,主要红线的地方:1.raw选中 2.j'son格式 form表单提交数据测试 在header里 ...

  10. Ubuntu18.04防火墙相关

    Ubuntu 18.04 LTS 系统中已经默认附带了 UFW 工具,如果您的系统中没有安装,可以在「终端」中执行如下命令进行安装: sudo apt install ufw 检查UFW状态 sudo ...