有可能會有相當的資安風險,因此要多幾道防禦手續。
1. 安裝 ssh server。
sudo apt-get update && apt-get install ssh
2. 測試遠端連線
(-X 是支援 X11,可遠端開圖形介面程式)。
ssh -Xl Account IP ssh -X Account@IP
舉例:
Account : userA IP: 192.168.1.2 ssh -Xl userA 192.168.1.2 ssh -X userA@192.168.1.2-------------------------------------------------------------------------
安全性1. 拒絕遠端直接登入 Root。
一般而言,我們使用 Root 之前,會先登入一般 User,
再用 su 指令來進入 SuperUser 權限;而拒絕 ssh 直接連 root ,意思是要遠端取得 root 權限,需要有兩組密碼才行!
(當然 root 跟一般 user 密碼要不同。)
vi /etc/ssh/sshd_config 將 「PermitRootLogin」關閉,設 no /etc/init.d/ssh restart
詳細參考 鳥哥-簡易 Telnet 與 SSH 主機設定
安全性2. ssh 黑名單套件。
當有人嚐試遠端登入,並失敗一定次數時,
代表這位遠端使用者來者不善,我們可以把它加到:
/etc/hosts.deny 把它黑名單掉!!
安裝下面套件可以自動完成這件防禦機制:
apt-get update apt-get install denyhosts openssh-blacklist openssh-blacklist-extra /etc/init.d/ssh restart
更詳細設定要參考下面設定檔,
包含對方連幾次才加黑名單之類的…
vi /etc/denyhosts.conf
-------------------------------------------------------------------------
※ 技術補充
遠端控制 rsh + sshpass
※ 注意,使用 rsh 時,Server 與 Client 必需有相同之使用者帳號,
若 Server 端使用 root 權限,則 rsh 所執行的指令於 Client 端也為 root 權限。
若 Server 端使用 root 權限,則 rsh 所執行的指令於 Client 端也為 root 權限。
1. 於 server 端發遠端指令的方法參考 http://jamyy.us.to/blog/2013/08/5260.html
2. 安裝
apt-get install sshpass rsh
3. 遠端 ssh 第一次,無需打 yes ,自動更新 known_hosts 檔方法:
建一設定檔於 PXE Server 端: /root/.ssh/config
StrictHostKeyChecking no
4 遠端下指令,注意目前執行 rsh 的使用者權限:
sshpass -p <密碼> rsh <主機 IP> <指令> &
※令 ssh 連線無需輸入密碼
於 PXE Server 端,指令` ssh-keygen `產生 public key ,
並 copy 至 Client 端:/root/.ssh/authorized_keys (自行建立)的檔案內。