linux不專業心得分享-2 用ssh連線到租用的server、linux基本的指令和cmd增強插件、打開系統防火牆以及網域名稱的作用

linux不專業心得分享-2 用ssh連線到租用的server、linux基本的指令和cmd增強插件、打開系統防火牆以及網域名稱的作用

這篇開始,就要進入linux的實際操作了,
我們會先在cmd裡呼叫ssh來連線到server,輸入密碼後就能連線到server來操作租用的server了,
linode的server在安裝完成系統後,系統防火牆是關閉的狀態,因此你需要先打開它,讓系統更加安全,
接下來幾個標題下的指令,你也可以記錄下來存在記事本,方便之後快速的找到指令來使用喔!

本篇重點摘要

  1. 在cmd裡,用ssh指令連線到server
  2. 強烈推薦一個cmd、ssh的NVDA增強附加元件
  3. 認識在linux會用到的基本指令
  4. 打開系統防火牆
  5. 介紹網域名稱的作用

用ssh連線到遠端的server

在上一篇中,我們選擇的是Ubuntu這個linux的發行版本,
而連線到server有很多方法,下面的方法適用於各種開放ssh連線的linux內核系統,當然也包括Ubuntu,
在接下來的步驟,會用到我們上篇在linode儀錶板頁面中,在Root Password編輯框輸入的密碼,
要特別注意的是,root是整個系統中,最高權限的使用者帳號,等級相當於windows中的administrator,
也就是說,如果你的root密碼外洩了,知道你密碼的人就能登入你的server,做任何事情,因此設定密碼時要特別注意,
如果忘記root的密碼,可以參考上篇文章末尾處的補充說明。

  1. 在你的windows電腦上,按
    win+r
    輸入
    cmd
    之後按enter
  2. 在cmd視窗中輸入
    ssh root@你server的ip
    然後按enter,
    這串指令的意思是,用ssh這個軟體,以root這個帳號連線到@後面的ip,例如:
    ssh root@192.168.1.1
    ssh root@google.com
    p.s 你可以在上篇的linode儀錶板頁面中,找到自己server的ip,
    建議使用ipv4的ip,ipv6需要你的網路和設備都有支援才行,
    覺得ip太難記嗎,可以註冊中華電信的網域名稱,詳細介紹在文章末尾會有補充
  3. 之後用NVDA的你可以按小鍵盤的七或九看到類似這樣的訊息→
    The authenticity of host 你的網域名稱或ip can't be established.
    Are you sure you want to continue connecting (yes/no/[fingerprint])?
    之後直接在cmd的視窗裡輸入
    yes
    然後按enter
    p.s 這個訊息只有第一次登入某個ip或網域名稱的時候才有
  4. 再用7、9看,你會看到
    root@你的網域名稱或ip's password:
    在cmd視窗裡輸入你的root密碼,然後按enter
  5. 密碼正確的話你會聽到類似這樣的訊息
    Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.4.0-107-generic x86_64)
    或試用7、9看的時候可以看到最後一行是
    root@localhost:~#
    如果你的密碼輸入錯誤,會看到
    Permission denied, please try again.
  6. OK,只要你的密碼輸入正確,想必登入是非常簡單的喔!
    登入後,想要斷開連線的話可以按
    ctrl+d
    這樣就可以斷線了,或是在執行中的應用程式中,找到cmd的視窗,按快顯鍵選擇關閉,不然alt+f4事關不掉視窗的

一個cmd和ssh的NVDA增強附加元件

在此也強烈推薦你安裝這個nvda附加元件,不僅在畫面有刷新內容時會有音效提示,
還能在使用ssh登入server後,能讓我們使用ctrl+v貼上文字,
如果沒有這個附加元件的話,在你登入server後,可能無法使用ctrl+v將複製的指令貼到視窗中,所以這個附加元件非常重要!
點我直接下載Console Toolkit NVDA附加元件
點我打開Console Toolkit的介紹和下載網頁


在linux會用到的基本指令

將指令直接輸入或貼到cmd視窗中,按enter就可以執行,
先練習使用這些指令,用7、9看看都返回了哪些內容。

  • 顯示目前自己所在的路徑
    pwd
  • 前往我要去的路徑
    cd /資料夾名稱/資料夾名稱
    例如輸入: cd/home/lamb 就會前往home目錄下的lamb目錄,每一層用斜線隔開,
  • 前往根目錄
    cd /
    也就是只有一個斜線的話,那就會前往根目錄,
  • 返回上一層目錄
    cd ..
    或是
    cd -
    兩個都可以返回上一層目錄
  • 前往當前登入使用者的使用者目錄
    cd ~
    一般來說,普通使用者目錄都會在/home下面,而root的使用者目錄會在/root,
    要打出波浪號,你只要按shift+`,(`)這個符號在大鍵盤數字一的左邊
  • 重新開機
    reboot
    或是
    shutdown -r now
    兩個都可以
  • 關機
    poweroff
    通常用不到,關機後你只能在linode儀錶板頁面來開機,而且linode這個server提供商有防關機的功能,關機後它會在自己打開
  • 執行當前所在目錄下的可執行檔案
    ./檔案名稱
    .是當前目錄的意思,就像是幫我們自動補充了前面的路徑,/後面就直接接檔案名稱,例如我想要執行這個路徑的檔案
    p.s 在linux中,檔案的副檔名不是必要的,因此你會看到許多沒有副檔名的檔案
    /home/lamb/123
    123是檔名,假設我已經cd到這個路徑下
    cd /home/lamb
    然後輸入
    ./123
    其實組合起來就是完整的檔案路徑,也就是
    /home/lamb/123
    因此,要是你對某檔案路徑非常熟悉的話,你也可以直接打檔案路徑包括檔名,而不需要先cd到檔案的目錄在執行

接下來的三個指令參考就好,之後我們會用一個工具來進行檔案、資料夾的管理操作

  • 刪除資料夾或檔案
    p.s 要特別注意,linux沒有資源回收桶,刪除的資料就會永遠的消失,因此刪除指令要慎用
    rm 要刪除資料夾或檔案的完整路徑,或當前資料夾下的檔案名稱
  • 複製資料夾或檔案
    cp 要複製的資料夾或檔案的路徑 要貼上的資料夾或檔案的路徑
  • 移動檔案
    mv 要移動的資料夾或檔案的路徑 要貼上的資料夾或檔案的路徑

打開Ubuntu的防火牆

系統的防火牆非常重要,它是整個網路連線過程中的最後一道防線,
我們所使用的windows、mac ox以及linux,都有防火牆,只不過平常你可能很少能注意到它,
但在設定一台server時,防火牆就很重要了,真的就像一道牆一樣,阻擋外來的連線,防止別人對你的server做壞壞的事情。
基本上,網路連線時可分成兩種類型,一種是自己連出去,另一種是別人連進來,而防火牆就是用來阻擋別人連進來的,
你只要開啟需要別人連進來的port,其它的port通通關閉,這樣既能讓別人連線,也能讓server更加安全,
而開啟防火牆後,別人只能連線到你有開啟的port,但不會影響你連其它人的電腦,
在所有的linux發行版中,都會有iptables這個防火牆工具,不過設定很複雜,不夠直覺,
好在Ubuntu預設就提供了一個基於iptables之上的防火牆工具,名為ufw,操作非常簡單,
接下來就來帶妳看看怎麼開啟ufw,以及相關的設定囉!
對了,開始前建議你看看這篇我寫的文章,有助於你了解一些網路連線和port的概念→
點我看好軟體推薦-4 如何在cmd裡ping指定的port

  1. 打開cmd,用ssh指令登入你的server
  2. 首先,要先在ufw新增允許ssh連線的規則,讓我們在打開防火牆後仍然能正常連線到server,
    到此你需要先了解什麼是port(連接埠),對岸稱之為端口,你可以看看上面我介紹ping的文章,
    使用ssh時,用到的port是22,因此你需要告訴ufw,讓來自22的連線可以通過防火牆,
    輸入指令:
    sudo ufw allow 22
    按enter,上面的sudo ufw allow 就是允許通過的意思,後面接port號
  3. 接著打開防火牆,輸入指令:
    sudo ufw enable
    按enter,這個是啟動ufw的意思,
    接著再輸入:
    sudo ufw default deny
    按enter,這個意思是,其它沒有被設定通過的port,當有來自別人的連線要求時會直接拒絕連線,
    ok,到此基礎的防火牆設定就完成了
  4. 你還可以看看下面關於ufw的其它指令
    • 查看目前的防火牆規則
      sudo ufw status
    • 刪除某條建立的規則
      sudo ufw delete allow port號
    • 開啟ufw防火牆的日誌
      sudo ufw logging on
    • 允許某個port的tcp連線
      sudo ufw allow port號/tcp
    • 允許某個port的udp連線
      sudo ufw allow port號/udp
      p.s tcp和udp是兩種不同的連線類型,如果不指定的話兩個都會開,除非你很了解你需要的是tcp或udp,不懂的話只要有port號就好了

網域名稱能做什麼

域名只有兩種功能,第一是方便記憶,第二是指向某個ip,
域名的發明,就是因為ip都是一堆數字,太難記憶,你能記住一串ip,但可能記不住十串,
但域名就不一樣,你可以用一個好記的英文單字作為你的域名,這樣記憶十個八個域名也不成問題。
實際上,當我們在瀏覽器裡輸入網址時,例如你輸入:
google.com
最後也是會被翻譯成一串ip,透過ip找到最終要連線的server,
所以有一個自己的域名,不僅別人要連線到你的網站、服務時更方便,你用ssh登入server的時候,也能打域名來代替server的ip來連線。
目前,我是用中華電信提供的域名註冊服務,每年800元台幣,
你可以取一個好記的域名,像我就是用lamb來當作我的域名,而域名後面還會加一些後綴,例如.tw、.com等等,
後綴可以選擇,不過價格會不同,例如.idv.tw我記得是每年400元台幣,而.tw是每年800台幣,
像我就是選用.tw,配合我自己取的域名就是→
lamb.tw
將這串網址貼到瀏覽器,你就能看到我的網站,不過要注意的是,域名具有唯一性,
也就是我用了lamb,那你就不能用lamb來註冊,除非你用不同的後綴,例如lamb.com,
OK! 有興趣的話可以來這裡購買,如果你在之後要價網站的話還是非常建議註冊自己的域名的→
點我前往HiNet域名註冊