天天看點

ssh學習随筆記錄

SSH登入伺服器免登入

  1. 本地建立公私匙對(個人覺得建立一個專用的匙對比較好):
ssh-keygen -t rsa -C "github actions"           

複制

  1. 上傳公匙到伺服器
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