我正在尝试将我的多跳 ssh 命令放入 ssh .ssh/config 文件中。
这是我的连接图:笔记本电脑(我在这里)------> 用户-----> 工作站
我已将 ssh 公共 rsa 密钥放入“userver”和“workstation”。此时,我可以通过键入以下行进行连接:
ssh -A -t userserver@userver ssh -A userworkstation@workstation
Run Code Online (Sandbox Code Playgroud)
然而,我希望能够使用 ~/.ssh/config 中配置文件的功能来达到相同的效果,但使用一个简单的命令,这也允许我使用“scp”进行快速复制。唯一的问题是“userver”没有“nc”命令,而且我没有超级用户,只能控制我的主文件夹。不过,我尝试了一些事情:
我的笔记本电脑中有这个配置文件(~/.ssh/config):
# laptop config file
Host userver
Hostname userver_hostname
port 22
User server_user
Run Code Online (Sandbox Code Playgroud)
还有用户中的另一个配置文件(~/.ssh/config)
# userver config file
Host workstation
Hostname workstation_hostname
port 22
user workstation_username
Run Code Online (Sandbox Code Playgroud)
有了这个配置文件,我可以连接为
ssh -A -t userver ssh -A workstation
Run Code Online (Sandbox Code Playgroud)
这是一种改进,但还不够。我尝试在我的笔记本电脑配置中添加另一个主机,如下所示:
Host hop
ProxyCommand ssh -A -t userver ssh -A workstation
Run Code Online (Sandbox Code Playgroud)
然后,当我做
ssh hop
Run Code Online (Sandbox Code Playgroud)
我得到以下错误输出并且无法连接:
Pseudo-terminal will not be allocated because stdin …Run Code Online (Sandbox Code Playgroud)