論如何優雅地配置一臺云服務器
論如何優雅地配置一臺云服務器

牛客網聯合華為云搞了個大新聞,搞出了9塊錢一年的學生機。配置跟國內各大云服務商的學生機持平,1核1G內存+40G系統盤+1M帶寬,跑點常見的服務毫無壓力。此外,這個學生機還支持ipv6,這也是相當讓我驚喜的一點——隨著現在三家運營商ipv6建設的全面鋪開,再加上高校教育網原本就對ipv6支持的比較完善,擁有一個v6地址在很多時候可以發揮出意想不到的效果。
當然,服務器買來剛初始化完之后,里面空空如也,并且有很多默認設置實際上并不順手。這篇文章就是用來記錄如何將這臺機器搞得更順手一點,“優雅”一點。
云服務器,幾乎必然要上Linux了。(什么?你想上Windows?)Ubuntu是我用的比較順手的一個系統,華為云默認提供了Ubuntu1604和Ubuntu1804兩種鏡像,那我肯定要選新一點的1804啦。不過這個選擇還給我稍稍帶來了一點麻煩,這個我們一會說。
1. 開啟ssh key登錄
華為云的主機默認是采用密碼登錄的,用戶一上來就給的是root。這樣固然方便,但是用密碼登錄顯然不如用ssh key安全和優雅,那么第一步就讓我們先來搞搞它。
登陸上服務器之后,在terminal里輸入
ssh-keygen
之后有幾個可選的配置,直接敲回車采用默認設置即可。然后運行結果就會是這個樣子的:
root@ecs-sn3-medium-2-linux-20200224112405:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:eklTx2jLBz8AyrPw/KI52HPso9bKBbKZe4ZPPDmtJjw root@ecs-sn3-medium-2-linux-20200224112405
The key's randomart image is:
+---[RSA 2048]----+
| ? ? ? ?. ? ? ? ?|
| ? ? . . . o ? ? |
| ? ?. + ? * o ? ?|
| ? ? + o + * ? ? |
| ?. . + S o + ? ?|
| ? * + + o . . ? |
| .++*o= + ? ? ? ?|
| ?E+OB=o ? ? ? ? |
| ?.OOB.. ? ? ? ? |
+----[SHA256]-----+
然后我們按圖索驥,進入到/root/.ssh/這個目錄里。正常情況下,如果你是第一次生成ssh key,這里會有三個文件:id_rsa,id_rsa.pub和authorized_keys三個文件。其中,第一個是私鑰,相當于你的密碼,保管好別隨便給別人;第二個是公鑰,這個是用來告訴別人你的私鑰應該長什么樣子的;第三個文件中,保存著所有能登錄到這臺服務器的公鑰,現在它還是空著的。
那么下一步,我們在命令行里執行:
cat?id_rsa.pub?>?authorized_keys
這行指令是將id_rsa.pub里的內容追加到authorized_keys里的。然后,重啟一下sshd服務:
systemctl?reload?sshd
然后將私鑰保存到本地,這時我們就可以通過私鑰登錄服務器啦。
這時,我們雖然能通過ssh key登錄,但是由于原來的密碼登錄方式還沒有禁用掉,不夠安全,下一步需要將密碼登錄禁用掉。
在terminal里輸入:
vi?/etc/ssh/sshd_config
打開sshd的配置文件,跳轉到第56行,有一行
#?PasswordAuthentication?yes
將前面的#號去掉,并將yes改成no,保存,按照上面的方法再重新加載一次sshd服務:
systemctl?reload?sshd
這樣就可以了。
2. 安裝zsh和oh-my-zsh
ubuntu默認的shell是bash,也是應用最廣泛的一種shell——什么,你不知道這是什么?去查查吧,基礎中的基礎啊——當然功能是夠用的,但是不夠優雅。zsh是另一種shell,它功能強大,但是由于配置晦澀難懂,也十分復雜,最初使用的并不廣泛。而oh-my-zsh提供了一系列很好用的配置,有了它,zsh迅速地變成了老少咸宜且十分流行的shell。
Talk is cheap, 開始正題。
第一步,先安裝zsh。我們可以使用自帶的apt軟件包管理器簡單地完成這項工作。
apt?install?zsh
然后直接敲兩下回車即可。
第二步,安裝oh-my-zsh。在終端里執行
sh?-c?"$(curl?-fsSL?https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
提示:考慮到某股神秘力量的存在,你可能會因為網絡問題在這一步失敗很多次。你有兩種選擇,一是不停重試——反正我這樣成功過;第二是去找一點正確上網的姿勢,我膽小,就不贅述了,自己去搜吧。
安裝完之后,它會提示你要不要把默認的shell切換成zsh,那必須的啊,回車之。
稍等片刻,你會發現提示符的樣子已經變了:
???ssh
恭喜你!安裝成功了。zsh的魅力在于主題和插件的使用,教程網上有很多,這里(因為懶)也不贅述了,去網上一搜一大把。
3. 開一個新用戶
因為默認用戶是root,有著系統的最高權限,而我們平常根本不需要這么高的權限,有需要的時候直接sudo就可以了。于是,創建一個日常使用的用戶就顯得十分重要。
在終端里執行
adduser?paul
其中paul是你想創建新用戶的用戶名。回車之,提示你輸密碼
Enter?new?UNIX?password:
輸入新用戶的密碼,敲回車,然后會要求你再輸入一次防止輸錯。然后就是一些個人信息的填寫,都可以直接敲回車略過。所有信息輸入完之后,會提示:
Is?the?information?correct??[Y/n]
輸入y,回車,一個新的用戶就創建好了。然后你就可以使用這個新用戶登陸服務器了。需要注意的是,ssh key是和用戶對應的,而我們第一步配置的ssh key顯然是給root這個用戶配置的,因此對于我們創建的新用戶,還需要重新配置一遍。如果你不想再搞一個新的ssh key出來,也可以將第一步中產生的id_rsa.pub里的內容填到/home/新用戶名/.ssh/authorized_keys中,這樣就可以直接用原來的ssh key登錄了。
4. 開啟ipv6
華為云的ipv6顯然還處于試用階段,權限沒有默認開通,需要我們申請一下。
登陸這個網站:https://www.huaweicloud.com/solution/ipv6/,選擇"IPv6-EIP立即申請",別選錯了哦,選成另一個是不行的。然后它會讓我們填一些信息,看著很高大上,其實瞎填就可以了。提交之后它提示要審核,但其實也不用等,實測這個審核幾分鐘就通過了。
權限申請到之后,下一步就是配置網絡了。登錄華為云控制臺,選擇“虛擬私有云”,
然后點擊右上角的“創建虛擬私有云”,在新的頁面里將下方的“開啟ipv6”選上,點“立即創建”,就可以了。
然后我們還需要將服務器綁定的VPC更換成新創建的。在控制臺中選擇“彈性云服務器”,在“更多”中選擇“切換VPC”,虛擬私有云切換成我們剛剛新創建的,確定即可。
UPDATED: 寫到這里,我去查了一下文檔,突然意識到——這上面是IPv6雙棧的配置方式!哦...(手動捂臉
對于IPv6-EIP,不需要如此繁瑣的配置,只需要打開控制臺中的“彈性公網IP”,在屬于我們的那個IP那一欄,選擇右側的“更多”下拉菜單,”打開IPv6轉換“,然后再去”訪問控制“->”安全組“中,選擇我們使用的那個安全組(一般為Sys-default)的”配置規則“,在入方向規則中,選”添加規則“,協議端口寫”全部放通“,源地址填”192.19.0.0/16“,確定即可。此時,我們已經可以通過IPv6地址訪問服務器了。
一點吐槽
事實上,我在嘗試開啟IPv6的過程遠比文章中艱辛。首先,在申請公測權限的時候,并沒有明顯地提示我應該選擇IPv6-EIP或IPv6-雙棧,導致我最初想當然地先申請了后者,再申請了前者...
此外,關于這個雙棧的問題,按照教程來看我應該先將彈性IP綁定到共享帶寬,這樣VPC才能為服務器提供IPv6的訪問權限;但是我未綁定,仍然為我的VPC分配了一個IPv6的網段。后來,IPv6-EIP的方法能夠使用之后,服務器一直分配不到IPv6地址,但是入站使用v6沒有問題;于是我又去搜索文檔,發現了這么一篇:http://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0140963099.html,然而這篇問題更大,不僅沒有明顯的提示不適用于IPv6-EIP,在下文中ubuntu1804手動獲取地址的部分直接寫錯了:教程里教的是在/etc/network/interface進行修改,然而華為云默認的ubuntu1804鏡像使用的是netplan管理網絡!
后來還遇到了不少坎坷,提了工單工程師也沒法給我一個完美的答復,并且在工單中當工程師想要訪問我的主機時,有一個提供權限的操作——就是將密碼填入一個指定頁面。然而不知為何,我填入正確的密碼,這個頁面驗證一直不成功,工程師也說一直無法登錄...
后記
華為云學生機初步折騰也就告一段落了。在折騰時的種種體驗,都表明華為云還有很大的發展空間。但是,作為一家做網絡通信起家的公司,我有理由相信,華為云的使用體驗也是會越變越好的。
ssh 彈性云服務器 ECS
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。