【服务器使用记录】通过跳板机登录远程服务器并进行文件传输

说明:文章为本小白记录使用远程服务器时踩的坑,欢迎大佬批评指正


一、生成本机密钥并添加到服务器中

首先在终端输入代码生成本机的密钥和公钥:

ssh-keygen -t rsa

在这里插入图片描述
会生成 id_rsaid_rsa.pub,它们分别对应为你本机的公钥和密钥,我们将 id_rsa.pub 发给服务器管理人员或是上传到相应平台,即在服务器上允许你本机登录
注意:key有两种格式,一种是rsa,一种是dsa,有些服务器并不支持dsa的!


二、使用VSCode扩展插件Remote-SSH登录远程服务器

在VSCode扩展中找到插件并下载,然后点击远程资源管理器中的 ‘+’,输入:

 ssh 账号名称@服务器地址 -p 端口号
 如:
 ssh huang@103.168.1.123 -p 123

然后经服务器验证fingerprint之后就能成功登录啦~
再罗嗦一下,在vscode里按 crtl+shift+` 可以打开终端(我自己找了好久)


三、通过跳板机A登录远程服务器B

1. 登录跳板机

日常开发中,为了安全性等方面考虑,连接远程服务器之前,需要先连接跳板机,这个方法与使用VSCode扩展插件Remote-SSH登录远程服务器一致,不多赘述。

2. 在跳板机中生成密钥

想要通过跳板机登录远程服务器很关键的一点是,不仅你本机的密钥需要上传到跳板机A跳板机A上也需要生成一个密钥上传到远程服务器B(我第一次使用就没有把跳板机的密钥上传,所以死活登录不上去)
同样的方法:打开跳板机的终端输入ssh-keygen -t rsa


四、通过跳板机把数据迁移到远程服务器B上

传输文件:scp 文件名 用户名@服务器B的IP地址:服务器B上的目的地址

scp test.py huang@192.168.1.123:/home/huang/

传输文件夹:scp -r 文件名 用户名@服务器B的地址:服务器B上的目的地址

scp test/folder huang@192.168.1.123:/home/huang/

五、在VSCode里配置跳板机和目标机

直接在ssh扩展插件里的config里加入下面的代码,就可以连接上TargetMachine

Host JumpMachine
  HostName 1.1.1.1
  User root
  Port 22
 
Host TargetMachine
  HostName 1.1.1.1
  User root
  ProxyCommand ssh -W %h:%p JumpMachine

六、可能出现的问题

vscode无法连接服务器,报“Acquiring lock on/home/~”和“过程试图写入的管道不存在”错误
解决步骤:

  1. 删除本机windows目录下,C:\Users\用户名.ssh\known_hosts,重新登录,如果不行就继续下面一步
  2. 打开remote ssh的setting,将 remote.SSH.lockfilesInTmp 打勾

七、参考

https://blog.csdn.net/weixin_34790159/article/details/116557869
https://blog.csdn.net/han_hhh/article/details/120659311
https://zhuanlan.zhihu.com/p/464993796

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值