簡體   English   中英

魚殼新功能:“ ssh:找不到命令”

[英]Fish shell new function : “ssh: command not found ”

我試圖創建一個將我連接到ssh服務器,然后變成su,然后再ssh到另一台服務器的函數,所以我執行了以下操作:

function test 
     ssh -t testuser@server1 'sudo ssh -t testuser@server2' 
end

當我執行它時,出現以下錯誤ssh: command not found

但是,當我直接將其執行到終端時,它沒有任何問題。

這聽起來像server1上的路徑問題。

在命令行中,如果鍵入以下內容,您會看到什么?

ssh -t testuser@server1 sudo which ssh 

如果SSH不在root路徑中,則可能需要指定完整路徑,例如:

ssh -t testuser@server1 sudo /usr/bin/ssh testuser@server2

當然,您可能需要調整路徑以匹配您的環境。

另外,如果您嘗試從server1的根目錄連接到server2,是否可以直接將ssh直接連接到root @ server1? 如果是這樣,您也許可以使用OpenSSH 7.3附帶的“ ProxyJump”功能。 這取決於以root身份遠程登錄的能力,根據您的環境,這可能不是一個選擇。

ssh -J root@server1 testuser@server2

當我將其中每個添加到fish函數文件夾時,我的問題已解決:

〜/的.config /魚/功能

我剛剛創建了一個名為myfunction.fish的文件,並在該文件的內部粘貼了函數定義:

function myfunction 
     ssh -t testuser@server1 'sudo ssh -t testuser@server2' 
end

保存它,退出魚,現在該功能是永久性的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM