一、SSH簡介
SSH(Secure Shell)是一種網路協議,用來在不安全的網路中安全地傳輸數據。SSH伺服器允許用戶通過SSH協議對它進行登錄和操作。
SSH協議將網路中的所有通信都進行了加密。這意味著即使別人能夠在網路上截獲你的數據,他們也無法讀取數據的內容。此外,SSH還使用了安全隧道,可以將其他協議(如FTP和VNC)通過SSH連接轉換成加密協議。
使用SSH協議的最大好處就是:你不需要在不信任的網路中擔心網路攻擊,因為你的數據都是加密的。
二、SSH登錄
SSH登錄是遠程連接到目標伺服器執行命令的最基本方式。下面是一個基礎的SSH登錄示例:
ssh username@hostname
其中,username是你的用戶名,hostname是目標伺服器的主機名或IP地址。當你在本地運行這個命令時,你將要連接到hostname伺服器,並使用username作為登錄用戶名。在連接過程中,你需要輸入你的密碼才能登錄成功。
SSH連接可以使用多種方式進行身份驗證,常見的有以下幾種:
三、SSH密鑰
SSH密鑰是SSH連接時進行身份驗證的一種方式。它是一個由兩個文件組成的密鑰對:私鑰和公鑰。
私鑰需要保存在本地電腦上,而公鑰則需要上傳到伺服器上。當熟知私鑰的用戶試圖連接到伺服器時,伺服器將會請求他傳送一些數據。這些數據將會被用公鑰解密,以便伺服器確認客戶端的身份。
可以使用下面的命令生成一個SSH密鑰:
ssh-keygen -t rsa -b 2048
接下來將會提示你輸入存儲密鑰的文件名和密碼。一般來說,只需要按回車默認即可。
生成公鑰之後,使用下面的命令在伺服器上將公鑰添加到你的SSH用戶中:
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfhdJNYNTo0...[your key content]...MN0qv" >> ~/.ssh/authorized_keys
將公鑰添加到你的SSH用戶後,你就可以使用私鑰安全地連接到這個伺服器上。
四、SSH代理
SSH代理是一種SSH連接的擴展,它可以讓你在遠程伺服器之間進行無縫連接。當你需要連接到不同的伺服器時,你不需要每次都重新連接到每個伺服器上,而是可以通過代理伺服器來連接到不同的伺服器上。
在本地電腦上,先使用下面的命令創建代理連接:
ssh -D 8000 username@hostname
然後你就可以使用這個代理來在遠程伺服器之間連接:
ssh -o ProxyCommand='nc -x localhost:8000 %h %p' username2@hostname2
此命令將通過代理連接到hostname2伺服器,並使用username2作為登錄用戶名。
五、SSH跳板機
SSH跳板機也稱為SSH跳躍,它是一種限制性防火牆或運維安全限制的情況下,通過跳板機訪問內部伺服器的方法。SSH跳板機工作的原理是在跳板機上建立一個隧道,把內部主機的埠連接到外網的埠上。
使用下面的命令進行SSH跳板機連接:
ssh -t username@hostname ssh username@internalhostname
這個命令將首先連接到跳板機上,然後通過跳板機連接到youserver2上。
六、SSH文件傳輸
使用scp命令可以在本地電腦和SSH伺服器之間安全地傳輸文件。
將本地文件傳輸到SSH伺服器:
scp /path/to/local/filename username@hostname:/path/to/remote/
從SSH伺服器傳輸文件到本地電腦:
scp username@hostname:/path/to/remote/filename /path/to/local/
七、SSH埠轉發
SSH埠轉發是一種在不同網路環境之間訪問網路資源的安全方法。它利用SSH的安全通道來連接到跨越兩個不同網路的計算機。
使用下面的命令在localhost上將remotehost:3306的埠轉發到本地的3306埠:
ssh -L 3306:localhost:3306 username@remotehost
完成轉發後,你就可以使用localhost的3306埠連接到remotehost的3306埠了。
八、SSH隧道
SSH隧道是一種通過SSH連接到遠程伺服器上的服務,並將其轉發到本地電腦上的方法。通常,SSH隧道用於連接到遠程伺服器上的資料庫或其他網路資源。
打開MySQL隧道,將remotehost伺服器的3306埠連接到本地電腦的3306埠:
ssh -L 3306:localhost:3306 username@remotehost -N
連接完成後,你可以從本地電腦上連接到MySQL資料庫了。
原創文章,作者:GIHT,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/134443.html