- linode 租虛擬機(本篇)
- 起code service
- 買一個屬於自己的域名
- (施工中)nginx https
緣起
當我一開始跟朋友分享我開始租機器架設自己的雲端服務,我朋友馬上進來幫我進行機器的弱點掃描,赫然發現,我將一個充滿漏洞的機器暴露在固定IP的公網上,在我虛心地請教下了解到機器端需要講密碼登入鎖起來只留ssh-key登入的方式(本日進度),以及需要透過https來導流只透給內部的port號,如此一來才能確保伺服器與客戶間通訊的加密,不會被惡意的路由器監聽,也可以避免別人透過指定的port好攻擊你的機器(隨後的文章)
目標
透過這篇文章,我會教你買自己的網域,買自己的機器,並且將vscode服務架設在雲端伺服器上。讓你可以一台ipad就可以在任何可以聯網的地方開發。未來預計用同一台機器起部落格服務。以及起vpn的跳板,讓你的netflix 可以繼續帳號多人共用。
就讓我一步一步來執行吧
既然是要講怎麼租一台機器來跑服務,那就從租機器開始吧
下面示範怎麼租linode虛擬機:
- 打開linode網頁
- 綁定google帳號註冊
- 進到create linode頁面
4. 點選右上角create Linode
5. image 選上自己喜歡的作業系統,這裡以ubuntu 18.04為例
a. 在這我們選擇了作業系統
b. 選了離我們最近的資料中心tokyo
c. linode計畫我們選了最便宜的Share CPU中的 nanodo 1G
然後下方就設定一下密碼,label 可以標籤一下這台機器的用途,多台機器的時候就不會混淆
要加錢的不選,private ip 會讓你外網的電腦看不見,也暫時不是我們要的
沒什麼問題就按下右邊的create linode來創建機器
過個30秒你就會發現你的機器已經建立好了
這時候你可以用右上角的SSH Access
比如我的是這個ssh root@139.162.116.230
我們到本機的terminal輸入這行指令(ip記得換成自己剛申請機器的ip歐)
這個時候就要記得打yes,這裡我多做了一件事情就是我有加入ssh 所以實際上我打的是ssh key的密碼,如果你沒有加入的話,就是打剛剛你自己設定的root密碼
接下來我們來妥善我們的環境設定
首先用root登入與安裝服務是有很高的風險的,我們需要:
- 創建user
- ssh複製key到虛擬機
- 把密碼登錄關閉
創建使用者
透過SSH登入後,下方操作在虛擬機內
其中第三點需要多介紹一下
原本的這個sh 是一種最入門的shell 用起來很討厭 1. 沒有語法上色 2. 沒有tab自動補全,總之是難用的集合,建議在這邊改成bash
vim 進去後 先 輸入大寫G到最後一行 用l 移動游標到”s”的上面(如圖所示)後輸入i 來進行插入
調整完的結果如下所示
這時候可以輸入ESC鍵離開insert 並輸入:wq 按下enter 這樣就改好了
想要檢查的話可以輸入
cat /etc/passwd | grep even
username 記得換成自己的
有時候看到shell 設定跑掉可以打上面這行來檢查一下
接著我們設定even 這個user 可以直接透過ssh-key的方式連進來,以後就不用打密碼,也可以在設定後就把密碼登入的方式鎖起來
回到本機進行操作
注意最上面這邊由於我已經key-gen過了我就不重新產生。可以看到一個ctrl+c的abort,如果你從來沒有產生過你應該會看到不一樣的指令才對
第一次copy的時候要輸入密碼剛剛上面user設定的密碼(我的passwd even密碼)
# 登進去新的user 之後可以用下面這行程式碼檢查有沒有問題
指令 sudo cat ~/.ssh/authorized_keys
確認沒問題(機器名稱是自己本地的名稱)我們就可以來把使用者密碼登入關掉了
指令 sudo vim /etc/ssh/sshd_config
vim 裡面打/ 可以進行搜尋 我們目標是把這個PasswordAuthentication如果有註解要拿掉 並且設定為no
找到目標按 enter 一樣使用 l 移動到 s 之後使用 i 進行刪除與輸入no
調整好之後一樣esc :wq離開這裡
並輸入下一行 sudo systemctl restart ssh.service
至此你已經可以享受免密碼登入拉~
本章到此結束,我們租了虛擬機,創建新的使用者並調整了權限,同時透過ssh登入並關閉密碼登入的方式。現在我們在user登入端的曝險面積已經縮小很多。下一篇文章我們來講怎麼啟動一個服務吧。