SSH登入伺服器免登入
- 本地建立公私匙對(個人覺得建立一個專用的匙對比較好):
ssh-keygen -t rsa -C "github actions"
複制
- 上傳公匙到伺服器
ssh-copy-id -i [公鑰檔案] user@host
# user是你的ssh的使用者,host是伺服器位址,這時候還要輸入密碼。
# 例子:ssh-copy-id -i id_rsa.pub [email protected]
複制
這個時候會報錯:
Windows ssh-copy-id : 無法将“ssh-copy-id”項識别為 cmdlet、函數、腳本檔案或可運作程式的名稱。
解決方法:
問題:
ssh-copy-id : 無法将“ssh-copy-id”項識别為 cmdlet、函數、腳本檔案或可運作程式的名稱。
解決辦法
在終端先執行以下内容:
function ssh-copy-id([string]$userAtMachine, $args){
$publicKey = "$ENV:USERPROFILE" + "/.ssh/id_rsa.pub"
if (!(Test-Path "$publicKey")){
Write-Error "ERROR: failed to open ID file '$publicKey': No such file"
}
else {
& cat "$publicKey" | ssh $args $userAtMachine "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys || exit 1"
}
}
複制
再執行
ssh-copy-id username@ip
即可。
後面使用cmd登入 每次都要輸入ip位址很麻煩 配置下:
在.ssh目錄下建立一個config檔案, 寫入
Host alias-name # 别名,這裡舉例為 alias-name
HostName 111.111.111.111 # 要登入伺服器域名或IP
Port 22 # 要登入伺服器的端口
User root # 要登入伺服器的使用者名
複制
設定成功後就可以直接使用
ssh alias-name
登入伺服器了!
使用ssh 端口轉發遠端服務ip
ssh -L 27017:127.0.0.1:27017 blog2
複制
使用場景就是我們遠端伺服器blog 的mongoDB 的通路端口是27017 而且設定了隻有内網可以通路
我們需要本地使用圖形化工具(robo3T)進行通路,就可以使用ssh -L 來端口轉發
就可以本機連接配接并通路遠端blog的mongodb啦
參考:https://www.csdn.net/tags/Mtjagg0sMzczNjEtYmxvZwO0O0OO0O0O.html