1、初始SSH安全
SSH是標準的網絡協議,可用於大多數UNIX操做系統,可以實現字符界面的遠程登陸管理,它默認使用22號端口,採用密文的形式在網絡中傳輸數據,相對於經過明文傳輸的Telnet,具備更高的安全性。服務器
SSH提供了口令和祕鑰兩種用戶驗證方式,這二者都是經過密文傳輸數據的。網絡
不一樣的是,口令用戶驗證方式傳輸的是用戶和密碼,這要求輸入的密碼具備足夠的複雜度才能具備更高的安全性。ssh
而基於密鑰的安全驗證必須爲用戶本身建立一對密鑰,並把共有的密鑰放在須要訪問的服務器上,當須要鏈接SSH服務器上時,客戶端軟件會向服務器發出請求,請求使用客戶端的密鑰進行安全驗證。服務器收到請求以後,先在該用戶的根目錄下尋找共有密鑰,而後把它和發送過來的公有密鑰進行比較。若是兩個密鑰一致,服務器就用公有的密鑰加密「質詢」,並把它發送給客戶端軟件。客戶端收到質詢以後,就能夠用本地的私人密鑰再把它發送給服務器。這種方式是至關安全的。測試
2、檢測與安裝SSH加密
2.一、查看是否已安裝SSH服務spa
#rpm -qa|grep -E openssh操作系統
2.二、安裝SSH(若是未安裝可執行此步驟)rest
#yum -y install openssh-serverserver
2.三、SSH服務狀態
啓動:# systemctl start sshd.service
中止:# systemctl stop sshd.service
重啓:# systemctl restart sshd.service
開機啓動:# systemctl enable sshd.service
說明:在雲服務器 ECS Linux CentOS 7 下重啓服務再也不經過 service 操做,而是經過 systemctl 操做。
3、啓動SSH服務
3.一、注意:
CentOS 7.1安裝完後默認已經啓動了ssh服務咱們能夠經過如下命令來查看ssh服務是否啓動。
3.二、查看22端口是否開放
#netstat -tnl
3.三、查看ssh服務是否啓動
#systemctl status sshd.service
4、SSH客戶端鏈接服務器(口令認證)
4.一、直接鏈接對方的主機,這樣登陸服務器的默認用戶
# ssh 192.168.207.128
4.二、使用帳號登陸對方主機ly用戶
# ssh ly@192.168.207.128
5、SSH客戶端鏈接服務器(密鑰認證)
這種認證方式是比較安全的。
密鑰認證步驟:
一、生成公鑰和私鑰,生成的密鑰默認在/root/.ssh/文件夾裏面
# ssh-keygen(直接所有回車)
或
# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa(非交互式生產密鑰)
Enter file in which to save the key (/root/.ssh/id_rsa): //設置鑰匙的名稱,默認爲id_rsa
Enter passphrase (empty for no passphrase): //設置保護私鑰文件的密碼,即密鑰登陸時的密碼(若是設置了密碼,去除辦法:ssh-keygen -p命令把密碼改成空便可)
Enter same passphrase again: //再次輸入保護私鑰文件的密碼
id_rsa //建立的私鑰
id_rsa.pub //建立的公鑰
二、把生成的公鑰發送到對方的主機上去,用ssh-copy-id命令,自動保存在對方主機的~/.ssh/authorized_keys文件中去。
# ssh-copy-id -i /root/.ssh/id_dsa.pub ly@192.168.207.143
三、免密碼登入測試
# ssh ly@192.168.207.143
說明:ssh服務端.ssh目錄權限爲700,.ssh/authorized_keys的權限爲600。