Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何使用一个ssh命令自动连接跳线或代理和服务器_Linux_Bash_Shell_Ssh_Command Line - Fatal编程技术网

Linux 如何使用一个ssh命令自动连接跳线或代理和服务器

Linux 如何使用一个ssh命令自动连接跳线或代理和服务器,linux,bash,shell,ssh,command-line,Linux,Bash,Shell,Ssh,Command Line,我记得我的一个朋友正在使用ssh文件配置来完成这项工作,但我找不到应该在该文件中编写的命令来实现这一结果 所以他所做的只是键入命令 ssh[服务器的别名] 外壳自动转到跳线(代理)并在其中提交密码, 然后转到服务器并再次在那里提交密码,这样他就不需要在ssh期间重新输入密码到服务器中 另一个问题是,Windows server是否可以执行此操作?除了使用公钥身份验证之外,我从未尝试过此操作,但假设: 您想要从源框ssh到目标框 目标框的网络名称为target.box.domain 未在目标框

我记得我的一个朋友正在使用
ssh
文件配置来完成这项工作,但我找不到应该在该文件中编写的命令来实现这一结果

所以他所做的只是键入命令

ssh[服务器的别名]
外壳自动转到跳线(代理)并在其中提交密码, 然后转到服务器并再次在那里提交密码,这样他就不需要在ssh期间重新输入密码到服务器中


另一个问题是,Windows server是否可以执行此操作?

除了使用公钥身份验证之外,我从未尝试过此操作,但假设:

  • 您想要从源框ssh到目标框
  • 目标框的网络名称为target.box.domain
  • 未在目标框上授权原始框
  • 代理框已在目标框上授权
  • “原始”框已在“代理”框上授权
  • 您可以在原始框中使用ssh/config,如下所示:

    Host target-box
        ProxyCommand ssh -q proxy-box -W target.box.domain
    

    您可以使用以下内容:

    Host jump
            User [username]
            HostName [ip address]
    
    Host [server ip address] [server alias]
            HostName [server ip address]
            User [username]
            Port [port]
            ProxyCommand ssh -q -W %h:%p jump 2>/dev/null
    
    主机跳转是一个代理服务器

    ProxyCommand命令将帮助您跳过代理服务器,然后继续到服务器

    • %h:你在用你的用户名吗
    • %p:正在使用id_rsa.pub中的密码

    参考资料:

    谢谢你的回答,proxy命令中的
    2>/dev/null
    是什么意思?谷歌多少?