Linux SSH 想避免 setlocale: LC_ALL: cannot change locale 的訊息

Linux SSH 到其它機器的時候,若自己的環境有設定 locales 是 zh_TW.UTF-8,但是連到的環境是沒有設定此語系的(通常是 en_US.UTF-8),就會出現下述的警告訊息:

  • -bash: warning: setlocale: LC_ALL: cannot change locale (zh_TW.UTF-8)

要如何避免此問題呢?

閱讀全文〈Linux SSH 想避免 setlocale: LC_ALL: cannot change locale 的訊息〉

SSH config 遇到 Unsupported option "rsaauthentication" 解法

Debian Linux 升級到 buster 後,開始慢慢清問題,首先馬上就遇到透過 SSH 來 scp、rsync 檔案的問題。

使用 scp、rsync 就會遇到下述錯誤訊息(沒意外的話,ssh 登入應該也會遇到)

  • /home/user/.ssh/config line 3: Unsupported option "rsaauthentication"

閱讀全文〈SSH config 遇到 Unsupported option "rsaauthentication" 解法〉

SSH 透過 ControlMaster 共享 已連接 的資源來快速連線

SSH (OpenSSH) 每次連線都會跑一些加解密、認證等等的機制,兩邊都有 Auth key 也是一樣,想要讓再次連線的速度更快,可以怎麼做呢?

SSH 可以透過使用 ControlMaster 來共享已經連線的資源,而且可以減少 TCP/IP 的數量,可以節省更多的資源

閱讀全文〈SSH 透過 ControlMaster 共享 已連接 的資源來快速連線〉

快速複製 SSH Public Key 到遠端機器

SSH 要將 authorized_keys 複製到新的機器, 一般作法如下:

  1. scp id_rsa.pub new_machine:
  2. ssh new_machine
  3. cat id_rsa.pub >> .ssh/authorized_keys

SSH 本身就已經有提供非常方便的 script 來做此事情: ssh-copy-id

  • 操作: ssh-copy-id new_machine # 即會將 id_rsa.pub 加到新機器的 authorized_keys 去, 輕鬆快速

Linux SSH 於信任網段 跳過 兩階段認證檢核

Linux SSH 加上 Google 的兩階段認證 可見此篇: Linux SSH 加上 Google 兩階段認證服務檢核

不過於 內部網路 或者 確定信任的網段, 希望可以忽略掉 兩階段認證的檢核, 要怎麼忽略此檢查?

閱讀全文〈Linux SSH 於信任網段 跳過 兩階段認證檢核〉

使用 Parallel SSH 管理、同時對多台機器執行命令

當機器越來越多, 要同時執行命令, ex: uptime、apt-get update... 等等, 就會很費時, 此時可以使用 pssh (Parallel SSH) 來對多台機器同時下命令~

註: DSH 也可以考慮, 可參考此篇: 管理多台機器的好工具 dsh (分散式 Shell)

閱讀全文〈使用 Parallel SSH 管理、同時對多台機器執行命令〉