vscode初探

2020-04-08  本文已影响0人  winter_sweetie

2020/4/5

1. 缘由

2. 记录

安装语法:

python -m pip install -U flake8
python -m pip install -U yapf
python -m pip install -U pydocstyle

配置语句:

"python.linting.flake8Enabled": true,
"python.formatting.provider": "yapf",
"python.linting.pydocstyleEnabled": true,

3. 远程

3.1 目标

这篇文章介绍了为什么要跳板。

如果公司的服务器在外网,一般会设置一个跳板机,访问公司其他服务器都需要从跳板机做一个ssh跳转,外网的服务器基本都要通过证书登录的。于是我们面临一个情况,本机ssh->跳板机->目标机器。如果直接在跳板机上放置公私钥对,并将跳板机上的公钥放到目标机器上,这样可以直接登录。但这样会有一个问题,跳板机上的root权限的用户可以获取普通用户的公私钥对,就算对私钥设置了密码,但是从安全角度来看,这样还是失去了保障,失去了服务器的一部分安全性。如何来解决这个问题呢,其实ssh协议本身是支持秘钥转发的,不需要再跳板机上放置公私钥。
总而言之,我们的目标是从本地->跳板机->目标机器。

3.2 试验
3.3 公钥和私钥

我花了大把的时间学公钥和私钥,最后还没怎么看懂,单从网上的代码来看,尤其是这个视频(带着我们配了一遍,但是没用跳板机)和这篇文章(是我想要的答案,但是按照这个代码依旧报错),首先要生成公钥和私钥,然后把公钥传到目标机器,这样就免输密码了。

所以我也搞了好久,首先通过ssh-keygen -t rsa -b 4096生成钥对,在 C:\Users\cold\.ssh文件里。下面需要上传啊,一开始我不敢动服务器的~/.ssh文件夹,差点就想问学长们了,后来又去filezilla看了看服务器的文档结构,估计这个文件应该是user私有的,于是就放心的添加我的公钥。一波操作过后,尝试打开远程,没啥帮助,该报错还是报错。所以合着只是为了不输密码…

中间我还下载了nmap…不过回头看,它应该没任何帮助…

3.4 核心

其实重点不在公钥私钥,在于proxy command。以前我都是先后两条语句:

ssh -L -p xxxxx username@jumpbox_ip
ssh -L -p xxxxx username@target_ip

其实借助proxy command,一条语句就能搞定。

ssh -o ProxyCommand='ssh -p xxxxx username@jumpbox_ip -W %h:%p' -p xxxxx username@target_ip

直接搬移到config文件里,然后又疯狂报错。我觉得我之所以耗了一天,就是因为不知道报错在哪一步,所以就来回各种试,一直以为是我密钥的问题。最后才发现是ssh路径要specify一下。修改成下面的样子,就成功了。

Host jumpbox
  HostName jumpbox_ip
  User username
  Port xxxxx
Host target
  HostName target_ip
  User username
  ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -p xxxxx username@jumpbox_ip -W %h:%p

至于-W之类的啥意思, 至于密钥怎么玩,至于IdentityFile怎么写,劳资先不管了。能用就行。

3.5 调试

这时候是不能调试的,需要在远程服务器上再安装一次python等插件……

3.6 后续

我历尽千辛万苦安装好,结果发现实验室服务器gpu特别特别挤,我还总断线。摔!

哎,为啥啊。

2020/4/7

4. 避坑

4.1 extension安装目录

这几天发现C盘越来越满,哪怕内存占用很少时也红色警告了,于是猜测vscode占用了c盘(其实不是vscode的错呜呜呜呜,啊我稍后解释)。又立刻联想到extension会不会安装时自动保存在c盘了。一查,还真的是,安装在了C:\Users\%USERPROFILE%\.vscode目录。

该怎么设定安装路径呢,setting里貌似没有。在知乎找到了解决方案。

cd $vscode的目录$
code --extensions-dir "你放置的位置" 

就好啦。打开vscode,发现…omg,竟然没有extension。好不人性化一软件。犹记得前几天重新设置微信缓存路径时,都自动帮我搬家了。没事,我们手动搬运,心平气和复制一下~~~

ps. 然后我发现c盘依旧很满,作为有许多小问号的小朋友,我又求助了知乎,找到了排查是什么占用了磁盘的方法,如下图,然后我才意识到是因为我最近录屏太多,都存在了c盘…vscode我错怪你了呜呜呜

windows系统的设置真是宝藏

移走部分视频后,腾出了30多GB的空间~


当当当当

2020.5.14

  1. 配置c++
    参考教程,答主超良心。
上一篇 下一篇

猜你喜欢

热点阅读