虛擬機安裝步驟(二)在FreeBSD上建立SSH遠端連線

Hachibye
5 min readDec 17, 2020

--

環境:FreeBSD 12.2 / BSD-64bit / amd64 / 1Core CPU / 2G RAM

經過第一篇安裝好VirtualBox以及FreeBSD
首先要為這一台虛擬主機,建立SSH遠端連線
並且「不允許」通過帳號密碼登入

這需要生成一組私鑰和公鑰
將公鑰放在遠端,像是設立一道門鎖
將私鑰存回本地自己保管,要進入遠端時才拿來開門使用!

那麼接下來就正式開始

首先輸入
ssh-keygen -t rsa
來生成一組金鑰
指令會提示說這一組金鑰存放的位置
*如果以使用者身分來創建,金鑰就會存在使用者文件夾底下

為公鑰匙重新命名為「authorized_keys」
mv id_rsa.pub authorized_keys

為公鑰設置權限
chmod 600 authorized_keys

推薦經常使用「ll」指令來查看清單

在自己的目錄底下創建一個.ssh文件夾
cd /home/username/
mkdir .ssh/

將剛才的鑰匙放進來自己家
cd /root/
mv .ssh/ /home/hachi/

別忘了將擁有者改為自己
cd /home/hachi/.ssh/
chown hachi authorized_keys

設置權限(要把門關上了)
ee /etc/ssh/sshd_config
打開編輯介面之後,調整以下幾項:
ListenAddress (你的ip)
PermitRootLogin no
PermitEmptyPasswords no
UsePAM no

重啟服務
service sshd restart

如果有做更動,記得要重啟服務才會生效
service sshd restart

到了這裡,就不能再用帳號密碼登入囉!
那麼以後要怎麼登入呢?

這裡要開始使用Putty這個軟件 官網
下載之後首先打開附加的puttygen.exe這個執行檔
Conversions > Import key > Your_rsa > Save private key
建議命名「authorized_keys_使用者名」
生成的ppk檔是給putty的,才能以putty連線驗證登入

再來打開putty本體
進行以下幾個基本的配置

  • Session > host name (你的虛擬機的ip地址)
  • Connection > Data > username(你的使用者名稱)
  • SSH > Auth > private key位置(開啟檔案)
  • Open 開啟連線

如果有連線成功的話,就能看見和虛擬機上一樣的畫面了
以上訊息也可以在 Session 底下的列表處,存成自己常用的幾個設定

除錯步驟:

  • 檢查 authorized_keys 的權限是否為 600
  • 檢查 .ssh/文件夾的權限是否為 700
  • 檢查 兩把鑰匙的擁有者是否為使用者自己(而非root)
  • 檢查 兩把鑰匙的位置是否在使用者自己的文件夾底下(而非root)
  • 檢查是否有重啟服務 service sshd restart
  • 檢查sshd_config裡面有沒有限制使用者

如果要添加其他人的鑰匙:

  • 創建一個新的使用者 adduser 指定群組設置密碼等
  • 後續步驟跟上面一樣,生成鑰匙 > 創建文件夾 > 將鑰匙移入文件夾 > 檢查權限及擁有者

第一次建立完了,之後呢:

  • 保管好自己的 authorized_keys 正本(非.ppk)
  • 保管好生成的 authorized_keys_username(此為.ppk) 給putty驗證登入使用
  • 在不同的機器上登入,只需要創建使用者
  • 再以 ee authorized_keys 將自己的 authorized_keys 貼上(注意要貼正本而非.ppk)

以上就是這次建立SSH連線的方法和注意事項啦!

--

--

Hachibye

字幕組退休勞工 ... DevOps/系統/雲端/資安