电脑上面因为开发需要装了两个WSL,一个18,一个16,但是如果实现共用一个ssh,并在github和gitlab上面都进行使用呢?本文解决了此问题。
1. 复制已经配置好的ssh
我之前创建好的ssh在我的wsl ubuntu 18的 /home/.ssh/
文件夹下面,于是首先需要把这里的内容复制到ubuntu 16里面。我为了方便,直接在windows的资源管理器里面进行复制和粘贴。
WSL(比如ubuntu 18,其余类似)的文件在windows里面的位置是这样的:C:\Users\$USER_NAME\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc
,进入其中的/home/
并复制.ssh/
文件夹到ubuntu 16的对应位置。
2. 赋予权限
在ubuntu 16的shell terminal里(我发现必须要sudo su
不然没有权限进入.ssh
,所以直接更改.ssh
文件夹的权限给所有使用者了)
sudo su
chmod 777 ~/.ssh
cd ~/.ssh
chmod 600 id_rsa
chmod 644 id_rsa.pub
意思是:对于.ssh/
文件夹,拥有者、组用户和其他用户都用完全权限;对于id_rsa
只有拥有者有读写权限;对于id_rsa.pub
只有拥有者有读写权限,而属组用户和其他用户只有读权限。
更多有关chmod
的信息可以参考这篇blog:https://blog.csdn.net/u013197629/article/details/73608613
3. 给github或gitlab添加ssh
首先复制id_rsa.pub
里面的ssh内容
cd ~/.ssh
cat id_rsa.pub
复制内容,粘贴到github或gitlab里面的SSH Key里面,如下图是gitlab的