Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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
通过ssh在两台远程机器上安装pip_Ssh_Pip - Fatal编程技术网

通过ssh在两台远程机器上安装pip

通过ssh在两台远程机器上安装pip,ssh,pip,Ssh,Pip,我想通过pip在未连接到internet的机器上安装一个软件包。这个问题有点棘手,但我会尽量澄清。我使用两台远程机器通过ssh连接它们,我们称它们为M1和M2。M2不能通过ssh直接从我的计算机访问,但我需要经过M1,因此架构类似于: My computer -----> M1 -----> M2 ssh ssh M1是通过互联网连接的,所以我可以通过pip进行安装,而M2不是。有没有办法在M2和M1上安装pip?我可以下载packages文件

我想通过pip在未连接到internet的机器上安装一个软件包。这个问题有点棘手,但我会尽量澄清。我使用两台远程机器通过ssh连接它们,我们称它们为M1和M2。M2不能通过ssh直接从我的计算机访问,但我需要经过M1,因此架构类似于:

My computer -----> M1 -----> M2
             ssh       ssh
M1是通过互联网连接的,所以我可以通过pip进行安装,而M2不是。有没有办法在M2和M1上安装pip?我可以下载packages文件夹并进行安装,但由于存在一些依赖项,我想知道是否有更有效的方法来进行安装

提前多谢


编辑:两台远程计算机都运行Linux

我提出了以下广泛的解决方案:

  • 在M2上配置pip,使其索引URL指向M2本身

  • 从M2发出端口转发ssh命令,如下所示:

    ssh -L 4444:pip_server_on_the_internet:80 M1
    ssh -L 4445:pip_server_on_the_internet:443 M1
    
    ssh-l80:pip\u internet上的服务器:80m1 ssh-l443:pip_服务器在互联网上:443m1

  • 用您在原始pip配置文件中找到的机器DNS名称替换互联网上的pip服务器

    当您在M2上运行pip时,它将在本地连接,然后通过ssh连接到M1,这将把连接请求重定向到目标pip服务器

    如果M2上已经使用了端口80或443,那么您可以将它们更改为任何端口号,即第4444天和第4445天,并将其反映在pip配置文件中。然后,您需要按如下方式进行ssh:

    ssh -L 4444:pip_server_on_the_internet:80 M1
    ssh -L 4445:pip_server_on_the_internet:443 M1
    

    不确定是否使用了端口80。检查pip URL。

    我提出了以下解决方案:

  • 在M2上配置pip,使其索引URL指向M2本身

  • 从M2发出端口转发ssh命令,如下所示:

    ssh -L 4444:pip_server_on_the_internet:80 M1
    ssh -L 4445:pip_server_on_the_internet:443 M1
    
    ssh-l80:pip\u internet上的服务器:80m1 ssh-l443:pip_服务器在互联网上:443m1

  • 用您在原始pip配置文件中找到的机器DNS名称替换互联网上的pip服务器

    当您在M2上运行pip时,它将在本地连接,然后通过ssh连接到M1,这将把连接请求重定向到目标pip服务器

    如果M2上已经使用了端口80或443,那么您可以将它们更改为任何端口号,即第4444天和第4445天,并将其反映在pip配置文件中。然后,您需要按如下方式进行ssh:

    ssh -L 4444:pip_server_on_the_internet:80 M1
    ssh -L 4445:pip_server_on_the_internet:443 M1
    

    不确定是否使用了端口80。检查pip URL。

    选项之一是使用M1作为代理。假设M1是Linux,您可以安装类似于的东西,如果不是,您需要为您的操作系统使用一个备用的。选项之一是使用M1作为代理。如果M1是Linux,您可以安装类似于a的东西,如果不是,您需要为您的操作系统使用另一个。