#从远程计算机
ssh -N -R 0.0.0.0:8000:localhost:22运行PROXY_USER @ PROXY_HOSTNAME
#从本地计算机
ssh -L 1234:localhost:8000 PROXY_USER @ PROXY_HOSTNAME运行
#在新的终端窗口中从本地计算机运行
ssh -p 1234 REMOTE_USER @ localhost#我现在已将命令切换到REMOTE框并可以运行命令
如何使用Paramiko运行上述步骤2和3?我基本上想运行:
import paramiko
# Create the tunnel connection
tunnel_cli = paramiko.SSHClient()
tunnel_cli.connect(PROXY_HOSTNAME, PROXY_PORT, PROXY_USER)
# Create the forwarded connection and issue commands from LOCAL on the REMOTE box
fwd_cli = paramiko.SSHClient()
fwd_cli.connect('localhost', LOCAL_PORT, REMOTE_USER)
fwd_cli.exec_command('pwd')
可以在@bitprohet的博客中找到有关Paramiko在幕后所做的详细解释。
假设上面的配置,我正在工作的代码如下所示:
from paramiko import SSHClient
# Set up the proxy (forwarding server) credentials
proxy_hostname = 'your.proxy.hostname'
proxy_username = 'proxy-username'
proxy_port = 22
# Instantiate a client and connect to the proxy server
proxy_client = SSHClient()
proxy_client.load_host_keys('~/.ssh/known_hosts/')
proxy_client.connect(
proxy_hostname,
port=proxy_port,
username=proxy_username,
key_filename='/path/to/your/private/key/'
)
# Get the client's transport and open a `direct-tcpip` channel passing
# the destination hostname:port and the local hostname:port
transport = proxy_client.get_transport()
dest_addr = ('0.0.0.0', 8000)
local_addr = ('127.0.0.1', 1234)
channel = transport.open_channel("direct-tcpip", dest_addr, local_addr)
# Create a NEW client and pass this channel to it as the `sock` (along with
# whatever credentials you need to auth into your REMOTE box
remote_client = SSHClient()
remote_client.load_host_keys(hosts_file)
remote_client.connect('localhost', port=1234, username='remote_username', sock=channel)
# `remote_client` should now be able to issue commands to the REMOTE box
remote_client.exec_command('pwd')
问题内容: 您如何使用Paramiko传输完整目录?我正在尝试使用: 这给了我这个错误- 问题答案: 您将需要像使用python在本地一样进行此操作(如果您未使用Shutils)。 结合,和和。您可能还需要检查每个文件和目录,具体取决于您是否要解析符号链接。
我尝试使用VirtualBox进行简单的端口转发,结果显示VirtualBox.exe正在主机上监听端口,但实际上并没有将连接转发给来宾。我已经在多个端口上尝试过,并且我已经多次重新启动VirtualBox。另一方面,来宾到主机的连接也很好。以下是信息: 有什么想法吗?出于多种原因,我想避免使用VirtualBox的桥接适配器。我的印象是NAT端口转发在VirtualBox中相对简单。 谢谢!
现在,我的助手类名为,它接受对象。代码是: 并且我为这个助手类编写了一些单元测试,如下所示: 因为我对单元测试和模拟库(如)非常陌生。现在我的问题是我的测试有什么好处吗?我想测试我的助手类的功能是否在做它应该做的事情(即,如果共享的pref有登录的用户,则获取登录的用户),我该如何做呢?
在我的React项目中,我有: 没有标题的登录组件 问题:我应该如何构建我的路由器从登录页面开始,当我点击登录时,路由器会把我带到仪表板?
问题内容: 由于已弃用,因此我已切换到,但我不知道如何从中打开端口。在我可以这样做: 只要SSH连接打开,它将把端口27017从VirtualBox转发到本地主机27017。请注意,我不是在寻找一种在VirtualBox中永久打开端口的方法。我怎样才能做到这一点? 问题答案: 您仍然可以从docker机器使用的VirtualBox中访问VBoxmanage.exe命令: 使用让您的虚拟机的名称。
我正在尝试使用angular与主播合作,我已经做了我的研究,但没有成功,所以我正在联系你们。 我有 3 个组件 {导航栏组件, 红色组件, 蓝色组件} 导航栏组件有 2 个锚点。我希望当我单击其中一个时,它实际上会将我引导到正确的组件 导航栏组件.ts 红色. component.ts blue.component.ts app.component.html 应用程序模块