ssh是替代telnet,rsh,rcp等遠端命令的有效工具,為什麼這麼說?
因為ssh是採用加密傳輸,不會造成密碼的明文傳送,增加了安全性;
再有如果採用金鑰的驗證方式,即可以去掉輸入密碼的麻煩,又可以進一步增加系統的安全性。因為金鑰才是唯一的驗證方式,即使你破解了密碼,沒有金鑰檔案也是登陸不了系統的。
注意:使用金鑰可以省去輸入密碼的麻煩;但是金鑰千萬不要丟失,如果重灌系統,需要重新生成金鑰。
使用ssh的加密隧道,可以實現一些增值功能,像sftp,scp,rsync,像mail,dns這些都可以使用ssh的隧道。
ssh有兩種協議,ssh1和ssh2。這兩種是不相容的。openssh同時支援ssh1和ssh2協議,又因為openssh是完全免費的,現在應用特別廣。
相反ssh的開發者,對於ssh1,提供免費;ssh2卻需要商業許可證。
如果安裝openssh,同時支援ssh1和ssh2;如果安裝其他的ssh軟體,需要檢視文件,都支援哪些協議。
openssh的安裝:
沒有需要特別說明的地方,檢視安裝文件。
預設安裝後,就可以使用ssh username
@hostname登陸,輸入正確密碼。ok。
如果想採用無密碼、金鑰的登陸方式,還需要做些設定。
ssh伺服器端的配置檔案為sshd_cofig,預設在/etc/ssh/目錄下。
主要設定伺服器都支援哪些選項,比如是否允許root登陸,是否使用金鑰等。
ssh客戶端的配置檔案為ssh_config,預設在/etc/ssh/目錄下,主要設定客戶端登陸時的一些預設選項。~/.ssh/config,使用者主目錄下的.ssh目錄的config檔案是針對此使用者的ssh客戶端配置。
再有就是可以在命令列,給ssh客戶端指定一些選項。
這三種配置的優先順序為命令列引數》~/.ssh/config>>/etc/ssh/ssh_config。
下面介紹採用無密碼,金鑰的驗證方式思路。
先要在客戶端操作:
金鑰演算法有兩種rsa和dsa。
使用ssh-keygen -t
dsa生成dsa金鑰。
使用ssh-keygen 或者ssh-keygen -d生成ssh1或ssh2協議的rsa金鑰。
生成的私鑰和公鑰都在~/.ssh/下,檔案名叫id_dsa和id_dsa.pub,
rsa對應的就叫id_rsa和id_rsa.pub
需要做的就是把公鑰拷貝到 伺服器端的相同使用者主目錄的.ssh目錄下,並且檔案名叫
authorized_keys,如果此檔案已經存在,並且儲存了其他機器的金鑰,就需要把.pub檔案內容新增進來。
另外還需要把伺服器端的金鑰驗證方式開啟。
說明:1.如果想在多台機器上無密碼登陸,需要分別給每台機器生成金鑰,把公鑰新增到伺服器端相應使用者名稱下的authorized_keys檔案中。
2.金鑰檔案丟失,或者系統重灌後,需要重新製作金鑰。
3.windows機器ssh登陸到unix伺服器,也可以做無密碼金鑰登陸。需要使用securecrt生成公鑰,然後拷貝到ssh伺服器。
Ubuntu下安裝和配置OpenSSH
一 安裝openssh server 1.首先檢視是否已經安裝過了 dpkg list grep ssh 若結果中沒有出現openssh server,則說明沒有安裝。2.安裝openssh server sudo apt get install openssh server 二 配置openssh...
windows上安裝配置openSSH服務
2 解壓到c program files openssh 不要放在別的路徑下 3 cmd到openssh路徑下 管理員許可權依次執行 1 安裝ssh服務 powershell.exe executionpolicy bypass file install sshd.ps1 2 開放22號埠 nets...
linux下安裝openssh 及注意點
r pm 安裝openssh r pm ivh 四個包 後面加 force nodeps 忽略依賴 s shd t 檢視錯誤資訊 關於key問題 需要cd etc ssh 下都要是root root c hmod 600 key相關檔案 去掉 確認本機sshd的配置檔案 需要root許可權 vi e...