前陣子閑著無聊,買了一個月的阿里云ECS來折騰一下。經(jīng)過不懈努力,天翻地覆的找資料,終于安裝好了wordpress,勉強弄好了一個簡易博客。(坑爹的阿里要買三個月的才能備案,綁定域名)
后來看到了Windows的開發(fā)者大會,了解了WSL這個新奇的玩意兒,忽然想起之前鏈接ECS的服務器太麻煩了,也沒用Ubuntu原生terminal的感覺,在初步了解WSL后我決定替換以前的方法。
其實WSL遠程鏈接ECS就是找個linux鏈接ECS的方法,但是畢竟在Windows主機上弄,我只想說盡是些花里胡哨的,但是酷?。。硗獠坏貌豢洫勔幌挛④泴﹂_源的態(tài)度,真的原來越棒,真香)
閑話少說!開始正題!關于WSL的安裝我就不細說了,因為網(wǎng)上有太多的答案,隨便找個的http://www.itdecent.cn/p/6b02948b3d37
我裝的是Ubuntu18.04
基本流程
阿里云官方推薦了兩個*Linux ssh鏈接ECS的方法
第一個:
初次使用,設置.pem密鑰文件的權(quán)限為400——sudo chmod 400 密鑰路徑
開始鏈接:——ssh -i [密鑰路徑] username@ip
這個方法除了第一次設置一下權(quán)限,算是很方便了,但是對我來說鏈接部分實在有點難以接受,果斷放棄
第二個:
配置ssh_config文件:
備份配置文件,養(yǎng)成好習慣
sudo cp /etc/ssh/ssh_config /etc/ssh/ssh_config_bak
sudo vim /etc/ssh/ssh_config
添加或修改屬性如下官方配置
Host ecs//實例名 隨便取,簡單最好
HostName ip //自己服務器的ip地址
Port 22
User root
IdentityFile ~/.ssh/privatekey.pem//密鑰的路徑
接著保存并重啟注意這里的環(huán)境是WSL,沒有sytemctl
重啟服務:service ssh restart
開始鏈接:ssh ecs //自己的實例名
出現(xiàn)Welcome to Alibaba Cloud Elastic Compute Service !代表鏈接成功
如果不行請先看下面填坑的內(nèi)容
以后使用只需簡短的ssh ecs
填坑
當然上面的過程是我在經(jīng)過半天摸索后的達到效果,中間還有一大堆的坑
一:重裝openssh
WSL安裝好后自帶了openssh,但是測試后不好使,查找資料發(fā)現(xiàn)是版本的問題,具體沒深究,既然如此那么只有重裝了,
sudo apt remove openssh-server
//不知道為啥,他還提示我client版本也不對,沒法也得重裝
sudo apt remove openssh-client
接下來就遇到一個大坑
sudo apt install openssh-server
sudo apt install openssh-client
上面的安裝命令的結(jié)果都是報錯了
E: Could not read response to hello message from hook [ ! -f /usr/bin/snap ] || /usr/bin/snap advise-snap --from-apt 2>/dev/null || true: Success
這是什么鬼玩意兒,百度沒找到,還好有谷歌
https://askubuntu.com/questions/1123159/wsl-ubuntu-18-04-broken-apt?answertab=oldest#tab-top
有回復是這個sudo rm -rf /etc/apt/apt.conf.d/20snapd.conf
樓主它下面的回復是Quick and dirty, but it did the trick.
我也嘗試了一下,ojbk(具體原因不去弄懂,感覺很麻煩的說)
二:ssh安裝和權(quán)限設置
上面的openssh安裝好后,按照官方的教程還是有問題的
1:這里是WSL,但是我的.pem密鑰文件在其他硬盤,一開始我很傻逼直接寫成下面這樣子
IdentityFile D:\linux\key.pem
這是因為WSL和linux一樣是掛載了硬盤,所以應該改為
IdentityFile /mnt/d/linux/key.pem
2:改好后測試結(jié)果出現(xiàn)了一個更奇葩的問題,彈出默認權(quán)限777太open了,不允許鏈接,那好按照官方的改為400但是發(fā)現(xiàn)不對,因為linux和windows權(quán)限不一樣,所以無法修改,因而復制密鑰文件到~/.ssh下再修改
sudo chmod 400 ~/.ssh/key.pem
那么IdentityFile ~/.ssh/key.pem
3:如果當前登錄身份為root可能會報錯:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
那么請切換到普通用戶登錄,這個問題我也看到相關的解決方法就是簡單在ssh_config添加
PermitRootLogin yes
但是沒成功。因為沒啥影響,就不深究下去