让WSL和Windows共享SSH私钥
前言今天在VSCode上连接WSL写代码时,发现我没有为WSL配置SSH私钥。但是同一台电脑不想生成两份key。所以打算共享Windows上的私钥到linux下。
本文将介绍如何共享Windows上的私钥到WSL,并设置正确的权限。
建立软连接首先,我们需要在WSL中创建一个软连接,将Windows上的.ssh文件夹链接到WSL中。在WSL终端中输入以下命令:
12cd ~ln -s /mnt/c/Users/your name/.ssh .
需要注意的是,创建软连接前需要保证~目录下不存在.ssh文件夹。可以先rm -rf .ssh将该文件夹删除。
如果.ssh文件夹里有需要的文件不可以删除,可以考虑在.ssh文件夹里单独对Windows下的某个key创建软连接。
设置权限设置完软连接,此时我们直接使用ssh会提示:
Permissions 0777 for '/home/your name/.ssh/id_rsa' are too open.
这是因为SSH私钥的权限太高,需要修改.
我们可以使用chmod命令修改文件权限,但是在WSL中,访问挂载的Windows ...
解决配置代理后sudo仍无法正常使用代理的问题
前言今日在WSL中安装Ros2的时候发现使用下面命令添加ROS2 GPG key的时候下载失败。
1sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
终端提示curl: (6) Could not resolve host: raw.githubusercontent.com
于是我想到为WSL配置代理
为WSL添加代理在主机打开代理软件后,在WSL终端中输入以下命令
1export all_proxy="socks5://172.29.80.1:10808"
再次尝试使用curl下载key发现依然失败。同时,我发现直接curl www.google.com是有正常的输出的,说明代理是正常配置的。
思索并查了一下资料,了解到通过export添加的环境变量只对当前用户生效,对于sudo指令,sudo执行时会重置环境变量
解决办法知道原因后就简单了,下面列举两种解决办法
...
C++中参数为引用构成的重载
今日看侯捷老师的C++课程,里面提到了void imag(const double& im) {}和void imag(const double im) {}具有同样的函数签名,所以不能进行重载,但在我实际测试中,发现编译器是允许通过传入参数是引用或值来构成重载的,遂进行了一些测试并记录一下。
以下测试环境均为VS2019编译器。
普通函数通过引用构成重载本来从直觉上来说我也是赞同侯捷老师的看法,因为只通过引用区分函数在函数调用的时候会出现二义性,应该不允许该重载操作才对。因此写了下述两个函数:
123456789void func1(int&){ cout << "func(int&)" << endl;}void func1(int){ cout << "func(int)" << endl;}
编译发现编译器没有报错,编译器允许了这种重载方式。但是在尝试调用的过程中发现如果传入 ...
重铸奥斯曼帝国荣光,吾辈义不容辞(注册Steam土耳其区账号教程)
前言 几天前日常打开了小黑盒,看看愿望单里的游戏有没有打折,发现半条命Alxy史地半价。
内心一阵小激动,正准备掏出钱包让G胖“Take me monkey”,突然想看看全区价格。
不看不知道,原来阿区和土区这么便宜,以前只听说过这两个区很便宜,没想到价格差这么多。
那我们就不能忍了,这不得“精神土耳其人”一波。
注册账号 这里我用土耳其区账号举例,注册阿根廷区账号也是差不多的。
想要注册土耳其区的steam账号,首先得拥有一个土耳其区的网络,有能力的可以直接选择土耳其节点魔法上网,没有魔法的就使用加速器即可,主流加速器都有Steam土耳其区的节点。(有的加速器写着是土耳其区,实际连上的是香港,这个也需要大家多尝试几个)
我这边是直接使用的魔法,施加好魔法被动后,打开steam官网,点击左上角的登录。
在登录页面下方找到加入steam并点击。此时会进入到注册页面,如果你的网络正常连接到土耳其的情况下,居住国家/地区该栏就应该显示为土耳其。
如果显示的是其它国家,请更换别的节点或者加速器,按上述步骤重新打开该页面,看看地区是否显示 ...