同樣是作爲遠程工具,SSH優點是基於成熟的公鑰加密體系,所以傳輸的數據會進行加密,保證數據在傳輸的時候,不被篡改及泄露,從而提高了系統的安全性。
一般的linux操作系統中都有默認安裝,或者安裝時選擇安裝。
#rpm –qa |grep ssh 可用此命令查看安裝了那個版本
輸入ps –ef|grep ssh 如果只有看到ssh-agent,那麼說明ssh-server還沒有啓動,需要如下命令來啓動#/etc/init.d/ssh start
配置文件:/etc/ssh/sshd_config
修改禁止root用戶直接登錄
將PermitRootLoginPermitRootLogin參數"yes"修改爲"no"
設置基於密鑰登錄方式
將#AuthorizedKeysFile .ssh/authorized_keys的#註釋去掉,用於設置用戶公鑰文件存儲位置,系統默認位置在用戶目錄下的.ssh/authorized_keys(其實就是生成的公鑰文件)
取消密碼驗證方式
#PasswordAuthentication yes 的#去掉,並將"yes"改成"no"
SSH登錄方式有密碼登錄和密鑰登錄,這裏詳細介紹一下密鑰登錄。
服務器每天有不計其數針對SSH的密碼猜解,雖然加了密碼錯誤三次後禁止IP的denyhosts模塊設置,但是實際應用仍然不是很完美,索性將服務器認證方式換成密鑰認證了,就是不能再用密碼登錄,除非有密鑰。
這裏說兩種密鑰生成的方法,一種是命令行生成,一種是用工具來生成(如securecrt)
1 命令行生成
假設我們爲root用戶生成KEY,在root下執行下面的命令:
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): //密鑰保存的路徑
Created directory '/root/.ssh'. //注意:.ssh目錄爲隱藏目錄
Enter passphrase (empty for no passphrase): //輸入密鑰密碼,可不設置,設了就是密鑰加密碼的登錄方式
Enter same passphrase again:
Your identification has been saved in /home/forever/.ssh/id_rsa. //私鑰密碼保存徑
Your public key has been saved in /home/forever/.ssh/id_rsa.pub. //公鑰密碼保存路徑
The key fingerprint is:
f1:80:a6:95:5d:43:1b:96:21:e2:f1:8c:7b:ca:95:e8 forever@bjf 密碼指紋
設置後在/root/.ssh/下會生成一個公鑰文件跟一個私鑰文件
2 secureCRT生成
選擇RSA密鑰類型
通行短語即密鑰密鑰,可不填,註釋就是備註下你是誰
選擇OpenSSH密鑰格式,點擊完成即可生成私鑰公鑰文件
密鑰生成後,需在服務端與客戶端做設置
服務端:
把公鑰文件的內容複製到/root/.ssh/authorized_keys
或重命名mv id.rsa.pub authorized_keys都行
客戶端:
然後把私有密鑰文件下載到本機,用secureCRT連接會話,選擇密鑰登錄,並選擇其私有密鑰文件,用root用戶即可登錄,若設置了密鑰密碼,就還需要輸入密碼才能登錄。