Linux架設
ubuntu環境設定

一、使用 SSH 金鑰與 Server 連線
產生金鑰對
把金鑰對放在 ~/.ssh 目錄下
# 若該目錄不存在,就自己建一個,並設定正確的權限
mkdir ~/.ssh
chmod 700 ~/.ssh
使用 ssh-keygen 指令產生金鑰,選擇 ED25519 或 rsa 作為金鑰的加密演算法,並使用電子郵件作為標籤,創建一個新的 SSH 金鑰。
# ed25519
ssh-keygen -t ed25519 -C "your_email@example.com" -f "fileName"
# rsa
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f "fileName"
ssh-keygen 中常用參數
t:指定金鑰的加密演算法,預設使用SSH2d的rsa。f:指定金鑰的檔名,預設檔名會隨演算法而變動,例如使用rsa加密時,其檔名預設為id_rsa(私鑰id_rsa,公鑰id_rsa.pub)。這階段沒改沒關係,等等還會在詢問。P:提供舊密碼,空表示不需要密碼(-P ‘’)N:提供新密碼,空表示不需要密碼(-N ‘’)b:指定金鑰長度(bits)。C:提供一個新標籤。
產生金鑰的過程中,會詢問 3 個問題,如果沒有特殊需求可以全部使用預設值(按 Enter)就好
接著就會在 ~/.ssh 資料夾中,出現兩個新的檔案 id_rsa 以及 id_rsa.pub (或者是你指定-f的檔案名)。id_rsa是私鑰,只需要存在你的電腦上面;而id_rsa.pub 是公鑰,需要放到你要登入的那台伺服器上面
將公鑰放到伺服器上面
ssh-copy-id -i .ssh/id_rsa.pub user@host_name
如果你的ssh要走別的port
ssh-copy-id -i .ssh/id_rsa.pub -p 2222 user@host_name
ssh key搭配ssh config使用
ssh config可以讓你用檔案的方式來設定ssh連線資訊,你可以設定一個名稱,之後連線時就只需要輸入這組名稱即可登入伺服器
在 ~/.ssh 目錄下,建立一個名叫 config 的檔案,並在裡面寫入
Host host_name # 這個可以設定自己喜歡的名字
HostName xxx.xxx.xxx.xxx # 這裡輸入伺服器ip或是domain name
Port 2222 # 如果你的伺服器不是把ssh服務開在預設的port 22的話,可以在這裡設定
User user_name
identityfile ~/.ssh/id_rsa
之後每次透過ssh連接至伺服器時,只需要輸入
ssh host_name
連線測試
ssh -T user@host_name
# 加上的 -v,獲取多的資訊
ssh -vT user@host_name
二、Ubuntu 安裝 Zsh + Oh My Zsh + Powerlevel10k 與各種插件
安裝 Zsh
sudo apt install zsh -y
安裝 Oh My Zsh
# 輸入以下指令安裝 Oh My Zsh,安裝完畢後,按下 Enter 同意把預設 Shell 換成 Zsh
sh -c "$(curl -fsSL <https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh>)"
# 若之前並沒有成功設定修改預設 Shell,請執行以下指令:
chsh -s $(which zsh)
# 執行 zsh 開始使用
zsh
安裝插件
主題 PowerLevel10k
git clone <https://github.com/romkatv/powerlevel10k.git> $ZSH_CUSTOM/themes/powerlevel10k
插件 zsh-autosuggestions
git clone <https://github.com/zsh-users/zsh-autosuggestions> ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
插件 zsh-syntax-hightlighting
git clone <https://github.com/zsh-users/zsh-syntax-highlighting.git> ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
插件 Zsh-z
類似於 autojump 的插件,比 cd 更快速地直接跳到想去的資料夾,且效能更好沒有一堆依賴包
git clone <https://github.com/agkozak/zsh-z> $ZSH_CUSTOM/plugins/zsh-z
# 查看已知的資料夾位置
z
# 進入在子資料夾中包含此字串的資料夾,可以用 Tab 來選擇結果,如果有多個符合 et 的資料的話。
cd /
z et
# 查看其他用法
z -h
啟動插件
nano ~/.zshrc
1.修改主題
ZSH_THEME="powerlevel10k/powerlevel10k"
2.新增要啟動的插件 (Plugins)
plugins=(git zsh-autosuggestions zsh-syntax-highlighting zsh-z)
應用修改過的 zshrc
source ~/.zshrc
重新設定 Powerlevel10k
若之前沒有啟動 Powerlevel10k 設定小幫手,或是日後需要重新設定 Powerlevel10k
p10k configure

