安裝
sudo apt-get install ssh
sudo apt-get install openssh-server
安裝ssh時, 就會自動安裝 openssh-server
設定檔
sudo vim /etc/ssh/sshd_config
PermitRootLogin prohibit-password 改為 PermitRootLogin yes : 開啟root登入, 建議不要打開
重新啟動
sudo /etc/init.d/ssh restart
防火牆
ubuntu預設沒有開啟防火牆, 所以不需設定. 但server若裝在IP 分享器之後, 記得把IP分享器的 22 port 指向伺服器的虛擬IP
連線
Linux 連線伺服器 : ssh 帳號@ip(網域) , 再輸入密碼
在Windows 上, 可以下載putty.exe, 然後進行連線
開機自動啟動ssh
安裝ssh後, 自動會在 /etc/init.d底下產生ssh的 script, 且此script會被軟連結到 /etc/rc3.d及 /etc/rc5.d之下, 重新開機後就會自動啟動. 所以我們不需作任何動作.
但debian需要下達 update-rc.d ssh enable
RSA加密
ssh二方進行連線時, 在網路上傳遞的訊息, 全都是明碼, 很容易被駭客攔截獲取. 所以在二方通訊時前, 必需先進行加密, 待訊息到遠方時, 再進行解密, 這樣駭客攔截到的資訊是加密後的亂碼, 而因為他們沒有解碼的key, 所以就破解不了.
下圖以一台server及二台Client來進行說明. 假設要由Client連線到Server, 則在Client需打上
明碼模式 : ssh 帳號@server IP, 然後輸入密碼
加密的作法如下
1. 在Client產生RSA 公用key(給Server用的), 及私用key(Client留著)
ssh-keygen -t rsa
產生時, 會詢問啟用id_rsa的passphrase. 如果沒有輸入的話, 則在登入時, 就不需輸入密碼了。
2. 將id_rsa.pub copy到 server
scp ~/.ssh/id_rsa.pub 帳號@serverip:/tmp
3. Server設定
cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys
上述設定都作好了, 再由Client登入一次看看
ssh 帳號@server
在剛剛產生公用及私用key時, 若沒有輸入passphrase的話, 則現在登入server就不需要密碼了, 相當方便.