IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 【本地端window系统基于vscode免密登录远程服务器linux系统】 -> 正文阅读

[开发工具]【本地端window系统基于vscode免密登录远程服务器linux系统】

本地笔记本免密(通过SSH公钥和私钥)连接远程服务器或者github

因本地笔记本每次登录公司远程服务器都需要输入账号密码,比较影响工作效率,为解决此问题,特意写此博客;本机登录远程服务器其实和登录github仓库有异曲同工的地方。gitbash可以操作远程端仓库,亦可作为终端与远程服务器建立链接。

1. VS code安装及配置远程服务器地址和用户名等

  1. 在本地端/自己笔记本上安装VS code。
  2. 在VS code中搜索插件Remote-SSH并安装,安装成功后左侧会出现如下所示图标:
    在这里插入图片描述
  3. 点击该图标->点击齿轮按钮(配置按钮),出现配置界面,在里面输入相应的服务器地址和用户名即可,如果是公司给你分配的工作空间,那么用户名就是公司给你分配的用户名
    在这里插入图片描述
    在这里插入图片描述
    修改配置文件
    在这里插入图片描述
    选中对应的远程服务器->右击->连接服务器
    在这里插入图片描述
    由于没有对公钥进行配置,这种登录方式需要密码进行登录。

2. 本地端笔记本生成对应的公钥和私钥用于免密链接远程端服务器

本地端生成公钥和私钥有两种办法,一种是本地端口没有安装gitbash,直接在window cmd powershell中生成公钥和私钥,另一种是安装git,在gitbash中生成本地端的公钥和私钥,建议使用gitbash,gitbash可以提供linux类的操作指令来操作本地端。

  1. ssh-keygen 命令生成公钥和私钥,公钥路径可默认,直接回车,然后输入密码,不输入可直接回车,生成公钥界面如下:
    在这里插入图片描述

  2. 公钥的作用,

     (1).很多代码服务器都是需要认证的,ssh认证是其中的一种。在客户端生成公钥,把生成的公钥添加到代码服务器,你以后连接服务器拉取代码时就不用每次都输入用户名和密码了。
     (2).很多git服务器都是用ssh认证方式,你需要把你生成的公钥发送给代码仓库管理员,让他给你添加到服务器上,你就可以通过ssh自由地拉取和提交代码了。
     (3).如果是github、码云、coding、华为云开发者,你把公钥加到自己个人中心的SSH公钥列表里即可。
    
  3. Windows查看ssh公钥方法:

     1.打开你的git bash 窗口
     2.进入.ssh目录: cd ~/.ssh
     3.找到id_rsa.pub文件: ls
     4.查看公钥: cat id_rsa.pub 或者 vim id_rsa.pub
     5.绝对路径cat ~/.ssh/id_rsa.pub
    

在这里插入图片描述

3. 本地端笔记本链接到远程端

将公钥复制到被登陆的主机上的 ~/.ssh/authorized_keys 文件中
拷贝公钥有两种方法,其原理都相同:
1. 使用 ssh-copy-id 直接拷贝
如果安装了Git的话,打开Git bash使用 ssh-copy-id 进行拷贝公钥非常方便,只需要指定目标主机和目标主机的用户即可。在本地端打开gitbash窗口,输入如下命令:

	ssh-copy-id -i ~/.ssh/id_rsa.pub tengfei.yue@10.19.0.13   (服务器地址更改过,为保护隐私)
	ssh-copy-id -i id_rsa.pub tengfei.yue@10.19.0.13          (这两个操作命令主要区别在于是在那个工作空间,直接在.ssh文件夹里打开gitbash,则用当前这个,其他情况则用上面那个)

然后依次输入yes和密码即可
在这里插入图片描述
如果远程服务器不在内网之中,而是通过一个外网 IP 的 xxxxx 端口转发登陆ssh,则与 ssh 登陆一样,指定端口号即可。

	# username@host_public_ip -p port
	ssh-copy-id -i id_rsa.pub tengfei.yue@10.19.0.13 -p xxxxx 

登录到远程机器不用输入密码

	ssh tengfei.yue@10.19.0.13    #即可登录到远程服务器,此时命令行的路径会变为远程端的路径或者相应的信息。
	#ssh tengfei.yue@10.19.0.13 -p xxxxx    # 若存在端口转发

2. 自己创建文件进行拷贝
如果没有安装Git,好像Windows PowerShell不支持ssh-copy-id命令;
先cd到Windows10的用户下的 .ssh 目录,使用scp命令将authorized_keys文件拷贝到linux下

	scp .\id_rsa.pub tengfei.yue@10.19.0.13:/home/users/tengfei.yue

拷贝时需要密码
在这里插入图片描述
然后使用ssh登录Ubuntu在用户目录下(/home/users/tengfei.yue)创建.ssh文件夹,需要将该目录权限改为700,该目录的权限必须是700才有效,然后将id_rsa.pub文件移动到.ssh目录下,并修改其名称为authorized_keys,修改其权限为600,该文件有规定如果属组其他人出现可写则文件就不会生效。
在这里插入图片描述
此时回到windows10下,使用ssh命令登录,可以看到,不再需要密码了
在这里插入图片描述

如果远程服务器已经有了.ssh文件夹,且里面也有了authorized_keys文件,则在远程服务器中直接使用如下命令将公钥id_rsa.pub追加到远程服务器管理密码登录权限的文件(authorized_keys)中即可:

	 cd /home/users/tengfei.yue/.ssh
	 cat /home/users/tengfei.yue/id_rsa.pub >> authorized_keys

注意:如果~/.ssh目录下不存在authorized_keys文件手动添加

	touch  authorized_keys

修改权限:

	chmod 700 ~/.ssh/
	chmod 600 ~/.ssh/authorized_keys

此时,本地服务器A的公钥(登录远程服务器B的权限)追加到远程服务器B中的权限文件authorized_keys中,本地服务器A可免密登录远程服务器B了。重启vscode便可免密登入远程服务器
原因:因为此时远程服务器B的密码登录权限文件authorized_keys中已经有本地服务器A的公钥,即A获得了B的登录权限。

注意:远程端服务器的.ssh文件夹一定要放对地方,本人的远程端服务器防止位置为/home/users/tengfei.yue/,不同的服务器防止位置不同,本人此处为公司分配空间,因此需要放置在此位置,如果是自己完全自建的远程服务器,一般是在 /root 根目录。个人理解,一般自己的远程端服务器工作权限在那块就把.ssh文件夹放置在此处即可。

本篇博客如有不正确的地方敬请指正。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-09-21 00:48:32  更:2022-09-21 00:50:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 18:24:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计