SSH遠程登錄的使用和介紹

SSH遠程登錄:

1SSHSecureShell,安全的命令解釋器)

爲客戶機提供安全的Shell環境,用於遠程管理,默認端口:TCP 22。比較早的telnetrsh等工具有很大優勢,SSH是目前應用最爲廣泛的服務器遠程管理方式

SSH登錄使用的用戶名:服務器中的本地系統用戶的帳號名

SSH登錄的用戶驗證方式

密碼驗證:使用服務器中系統帳號對應的密碼

密鑰對驗證:使用客戶機中生成的公鑰、私鑰

OpenSSH

官方站點:http://www.openssh.com

主要軟件包:openssh-serveropenssh-clients

服務名:sshd

服務端主程序:/usr/sbin/sshd

客戶端主程序:/usr/bin/ssh

服務端配置文件:/etc/ssh/sshd_config

客戶端配置文件:/etc/ssh/ssh_config

 

2、安裝OpenSSHserver

ssh服務器端安裝如下,客戶端一般ubuntu系統自帶,如果沒有,自己安裝openssh-client

1. 使用apt命令安裝opensshserver

$ sudo apt-get install openssh-server

2.確認sshserver是否安裝好

$ ps -e | grep sshd

      450 ?       00:00:00 sshd

如果看到sshd,說明ssh-server已經啓動了。

如果只有ssh-agent,說明ssh-server還沒有啓動,需要執行命令啓動ssh服務:

$ /etc/init.d/ssh start

3. 可以對 openssh server進行配置

3. 重啓 openssh server

$ sudo service ssh restart

 

3SSH服務器端配置文件:/etc/ssh/sshd_config

Port 22 監聽的端口(默認22

ListenAddress 192.168.2.1 監聽的IP地址(默認監聽所有IP

PermitRootLogin no 禁止ROOT用戶遠程登錄

PermitEmptyPasswords no 禁止密碼爲空的用戶遠程登錄

LoginGraceTime 2m 限制用戶登錄驗證過程的時間(默認爲2分鐘)

MaxAuthTries 6 限制用戶登錄驗證過程的最大重試次數

DenyUsers zhangsan lisi 拒絕XX用戶遠程登錄系統,其他均允許

AllowUsers jerry [email protected] 允許jerry在任何何IP的主機上遠程登錄,允許admin只能在主機61.23.24.25登錄,其他均拒絕(不要同時使用AllowUsersDenyUsers配置)

PasswordAuthentication yes 是否啓用密碼驗證

PubkeyAuthentication yes 是否啓用密鑰對驗證

AuthorizedKeysFile .ssh/authorized_keys 指定保存各用戶公鑰內容的數據文件位置,默認保存客戶機用戶公鑰信息的文件位於(服務器某個用戶宿主目錄下的)

 

4SSH客戶端應用

使用ssh命令遠程登錄

方式1ssh 用戶名@服務器地址

方式2ssh -l 用戶名服務器地址

方式3ssh 服務器地址(缺省時會嘗試以當前的本地用戶名進行登錄)

如查SSH服務器使用非默認端口,則客戶機在登錄時必須時確指定端口號

ssh -p 端口用戶名@服務器地址

SSH通過公鑰加密的方式保持通信安全,當某一SSH客戶端連接到SSH服務器時,在該客戶端登錄之前,服務器會向其發公鑰副本。這可用於設置通信渠道的安全加密。

當用戶第一次使用SSH連接到特定服務器時,SSH命令可在用戶的~/.ssh/known_hosts文件中存儲服務器的公鑰。在此之後每當用戶進行連接時,通過對此~/.ssh/known_hosts文件中的服務器條目和服務器發送的公鑰,都可保證從服務器獲取相同的公鑰。如果公鑰不匹配,客戶端會假定網絡傳輸已遭劫持,或者服務器已被入侵且中斷連接。這意味着,如果服務器的公鑰發生更改(由於硬盤出現故障而導致公鑰丟失),用戶則需要更新其~/.ssh/known_hosts文件以刪除舊的輸入才能夠進行登錄。

使用命令cat~/.ssh/known_hosts文件內容

還有一種更好的方法是,在公鑰發生更改時,提前將與服務器的ssh_host_*key.pub(在/et c/ssh目錄中)文件相匹配的條目添加到用戶~/.ssh/known_hosts或系統範圍的/etc/ssh/ssh_known_hosts中。

使用scp命令遠程複製文件/目錄

方式1scp 用戶名@服務器地址:源文件目標路徑

方式2scp 本地文件用戶名@服務器地址:目標路徑

若複製的是目錄,則需添加“-r”選項

使用sftp命令從服務器下載文件

使用圖形客戶端軟件 PuttyCN

主要用途:基於SSH協議遠程登錄以便管理服務器

下載地址:http://wrc.gro.clinux.org/putty/

使用圖形客戶端軟件 WinSCP

主要用途:基於sftpscpftp的方式下載/上傳數據

下載地址:http://winscp.net/

在遠程計算機上運行命令:

ssh命令可用於在遠程計算機上打shell並在該計算機上運行命令,有時,還可以保存在遠程計算機上運行的命令輸出,無論是保存在遠程計算機,還是本地計算機上。

輸出重定向至本地文件:

ssh user@host ‘command1 ; command2’ >log.local //單引號

輸出重定向至遠程文件:

ssh user@host ‘command1 ; command2 >log.remote’ //單引號

 

5、構建密鑰對驗證的SSH登錄體系

基本實現步驟

1.在客戶機創建密鑰對

ssh-keygen命令:ssh-keygen -t rsa ssh-keygen -t dsa 創建證書

2.將公鑰文件上傳至服務器

/home/用戶/下建立.ssh文件夾,並將其權限設置爲700

方法:使用普通用戶登錄SSH服務器,創建.ssh目錄,或使用ROOT用戶創建.ssh目錄,並更改屬主和屬組爲該普通用戶

把公匙傳到SSH服務器主機的/home/用戶名/.ssh中並命名爲authorized_keys

可以使用scp命令或ssh-copy-id -i .ssh/id_rsa.pub 用戶名@SSH服務器

id_rsa_pub文件可以一對多

3.設置服務器

禁用密碼驗證、啓用密鑰對驗證,並重啓sshd服務。

 

6、限制ssh登錄用戶

禁止人家使用ssh端口登錄就行了,具體方法:

sudo vi /etc/ssh/sshd_config

查找 AllowUsers ,如果沒有則加上。

AllowUsers meiking root

上面表達的意思就是隻允許meikingroot用戶遠程登錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章