【一文搞定】vscode--ssh remote多级跳转,连接到目标主机,免密登录、默认选平台

Vscode——ssh经过多级跳转,连接到目标主机和免密登录

前提:在vscode中安装好插件Remote Development

一、说明

如果要实现ssh多级跳转,那么需要使用ProxyCommand命令。

跳转一次实现

实现Win本机 -> jumpBox -> targetBox跳转的功能:

jumpBox(跳转名称,这是windows机器)
 - 用户名:winjump
 -  ip:   172.168.168.168

targetBox(目标名称,这是linux机器)
 - 用户名:linuxtarget
 - ip:   10.200.10.10

代码实现
文件:C:\Users\Myname\.ssh\config (Myname为Win本机用户名)
VScode窗口,左下角“><SSH” 点击 ,Connect to Host… ,Configure SSH Hosts… 找到C:\Users\color.ssh\config,即可编辑文件

Host jumpBox
  HostName 172.168.168.168
  # Port port_id
  User winjump

Host targetBox
  HostName 10.200.10.10
  # Port port_id
  User linuxtarget
  ProxyCommand ssh -q -W %h:%p jumpBox

免密登录方法:
每个host下加一句:IdentityFile 私钥

Host jumpBox
  HostName 172.168.168.168
  # Port port_id
  User winjump
  IdentityFile "C:\Users\Myname\.ssh\id_rsa"    
  (这是Win本机的私钥id_rsa,
  还要把Win本机的公钥id_rsa.pub内容要拷贝到jumpBox的~/.ssh/authorized_keys文件中)

Host targetBox
  HostName 10.200.10.10
  # Port port_id
  User linuxtarget
  ProxyCommand ssh -q -W %h:%p jumpBox
  IdentityFile "C:\Users\Myname\.ssh\id_ed25519_winjumpBox"
(这是jumpBox的私钥id_ed25519_winjumpBox,把它拷贝到了Win本机的C:\Users\Myname\.ssh\目录下,
   而jumpBox的公钥id_ed25519.pub内容要拷贝到该targetBox的~/.ssh/authorized_keys文件中)

这些设置完,还需要在jumpBox这台windows机器上,到C:\ProgramData\ssh\sshd_config下(首次启动sshd后会生成该文件夹),打开sshd_config文件,

修改文件(以下是重点):

确保以下3条没有被注释
PubkeyAuthentication yes
AuthorizedKeysFile	.ssh/authorized_keys
PasswordAuthentication yes

确保以下2条有注释掉
#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

其余不做修改,基本都是已注释不启用。

重启服务:Restart-Service sshd

ssh config文件帮助,可以在Linux使用命令查看man ssh_config
具体见:多台WIN10之间的SSH免密登录 - 知乎

注意项:

若设置完,另一个cmd或powershell窗口的ssh无法登录,显示“Permission denied (publickey,keyboard-interactive).”

需要修改,PasswordAuthentication noPasswordAuthentication yes
文件位置(C:\ProgramData\ssh\sshd_config
然后再Restart-Service sshd

解决每次弹出“vscode select the platform of the remote host”办法

设置每个host默认的登录环境:
文件位置:C:/Users/Myname/AppData/Roaming/Code/User/settings.json
在大括号内{},添加如下,注意别忘了逗号“,” ,去掉省略号:

{
...
    "remote.SSH.remotePlatform": {
        "jumpBox": "windows",
        "targetBox": "linux"
    },
...
}

注意冒号:前面的是上面.ssh\config文件中的Host名字。后面的是固定写法有linux/windows/macOS
原文:ssh - Can’t connect VS Code to Linux machine for remote development - Stack Overflow

SSH方法登录windows,见:如何使用 SSH 远程控制一台 Windows 服务器

跳转二次

实现 Win本机 -> jumpBox -> jump2Box -> targetBox 跳转的功能:

jumpBox(跳转host名称)
- 用户名:winjump
- ip:   172.168.168.168

jump2Box(跳转host名称)
- 用户名:win2jump
- ip:   172.168.168.111

targetBox(目标host名称)
- 用户名:linuxtarget
- ip:   10.200.10.10

代码实现
文件:C:\Users\Myname\.ssh\config

Host jumpBox           
  HostName 172.168.168.168
  # Port port_id       
  User winjump            
Host jump2Box          
  HostName 172.168.168.111
  # Port port_id
  User win2jump
  ProxyCommand ssh -q -W %h:%p jumpBox
Host targetBox               
  HostName 10.200.10.10      
  # Port port_id             
  User linuxtarget           
  ProxyCommand ssh -q -W %h:%p jump2Box

在左侧电脑图标(远程资源管理器),选择要连接的Host即可。

帮助

ssh config文件帮助,可以在Linux使用命令查看man ssh_config

常用配置选项¶
必须配置
	Host:指定配置块
	User:指定登录用户
	Hostname:指定服务器地址,通常用ip地址
	Port:指定端口号,默认值为22

可选
	IdentityFile:指定认证私钥文件
	ForwardAgent yes:允许ssh-agent转发
	IdentitiesOnly:指定ssh是否仅使用配置文件或命令行指定的私钥文件进行认证。值为yes或no,默认为no,该情况可在ssh-agent提供了太多的认证文件时使用
	StrictHostKeyChecking:有3种选项
		ask:默认值,第一次连接陌生服务器时提示是否添加,同时如果远程服务器公钥改变时拒绝连接
		yes:不会自动添加服务器公钥到~/.ssh/known_hosts中,同时如果远程服务器公钥改变时拒绝连接
		no:自动增加新的主机键到~/.ssh/known_hosts中

参考:
Visual Studio Code Remote SSH Tips and Tricks
多台WIN10之间的SSH免密登录 - 知乎

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Faster R-CNN是一种目标检测算法,用于在图像中定位和识别物体。它是R-CNN算法的改进版本,通过引入区域提议网络(Region Proposal Network,RPN)来提高检测的速度。 Faster R-CNN的工作流程可以分为两个阶段:区域提议和物体分类。 在区域提议阶段,首先使用卷积神经网络(CNN)对输入图像进行特征提取。然后,RPN通过滑动窗口在特征图上生成一系列候区域。每个候区域都有一个边界框(bounding box)和一个预测得分。RPN通过一个二分类器来判断每个候区域是否包含感兴趣的物体,并根据得分对候区域进行排序。 在物体分类阶段,对于每个候区域,使用RoI池化层将其映射为固定大小的特征向量。然后,这些特征向量通过全连接层进行分类和回归,得到每个候区域的类别预测和边界框坐标调整。 整个网络采用端到端的训练方式,在训练过程中同时优化RPN和分类网络。训练时,通过计算候区域与真实标注框之间的IoU(交并比)来确定正负样本,并使用多任务损失函数进行优化。 Faster R-CNN相比于R-CNN,通过引入RPN网络实现了端到端的训练,避免了繁琐的候区域提取过程,大大提高了检测的速度和准确性。同时,Faster R-CNN还可以通过改变RPN的输出尺度来检测不同大小的物体。这使得Faster R-CNN成为目标检测领域的重要方法之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ha-Ha-Interesting

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值