当前位置: 首页 > 知识库问答 >
问题:

Paramiko、Python、Windows:如何使用SSH连接到远程计算机并从远程计算机连接到NAS

步博涉
2023-03-14

我见过几个与这个话题有关的问题和答案,但我一直无法掌握如何做。

>

  • 我所能做的:使用Python脚本(使用Paramiko)连接到远程计算机,并返回信息,例如,ping交换机:

    ssh=pk.sshclient()

    ssh.connect(“{}”.format(IP),port=xxx,username='xxx',password='xxx')

    stdin,stdout,stderr=\“

    ssh.exec_command('ping-n 1 xxx.xxx.x.x\n')

    ssh=pk.sshclient()

    ssh.set_missing_host_key_policy(PK.AutoAddPolicy())

    ssh.connect('{}'.format(IP),port=xxx,username='xxx',password='xxx')#连接到计算机

    ssh.exec_command('shutdown\n,y\n')#向NAS发送命令

    打印(“ping switch:\n”,stdout.readlines())

    这可能吗,有没有人知道办法?

  • 共有1个答案

    方昊英
    2023-03-14

    您必须打开一个隧道,检查paramiko演示或使用sshtunnel包。对于后者:

    import paramiko as pk
    import sshtunnel
    
    with sshtunnel.open_tunnel(
        remote_computer_ip,
        ssh_username=remote_username,
        ssh_password=remote_password,
        remote_bind_address=(NAS_IP, 22),
        debug_level='DEBUG',
    ) as tunnel:
        ssh = pk.SSHClient()
        ssh.set_missing_host_key_policy(pk.AutoAddPolicy())
        ssh.connect(NAS_IP,
                    port=tunnel.local_bind_port,  # redirected to port NAS_IP:22
                    username=NAS_USER,
                    password=NAS_PASS)
        (stdin, stdout, stderr) = ssh.exec_command(...)   # your stuff
    
     类似资料:
    • 我尝试使用JSCH连接到远程windows计算机,连接成功。 我也尝试停止cygwin服务,但连接不成功。 我想连接到一个没有安装cygwin的远程windows机器,并使用java在命令提示符中执行命令。 我有机会查看Psexec工具,但安全性受到了冲击。 有人能建议一些其他的想法来连接到远程windows机器使用Java并执行命令吗?

    • 我正在尝试在远程机器中启动我的jmeter测试,因为我将在.jmx文件上运行批量用户(大约200 000线程)。我有一个远程机器,我已经下载了jmeter并将文件夹保存在桌面上。在命令提示符下,我有一个命令 现在在Jenkins我有一个指挥权 当我在詹金斯找到工作时 我在远程计算机中创建了一个 rmi 密钥库文件。

    • 我正在我的机器上运行Ansible。我的机器没有ssh访问远程机器的权限。来自本地计算机的端口22连接被学院防火墙阻止。但是我可以访问一台机器(ssh隧道),通过它我可以登录到远程机器。现在有一种方法可以在远程主机上从本地机器运行ansible playbook。 在某种程度上,可以通过ssh隧道将Ansible/ssh连接到远程机器。但并不完全登录到ssh隧道。连接将通过隧道。 另一种方法是我可

    • 我正在尝试使用ngrok通过SSH(公钥认证)从远程计算机通过互联网连接到Windows用户。但显然不起作用。 以下是我所做的。 我在windows上安装并激活了SSH。 我生成了公钥文件,并从发送到远程机器进行ssh。 我在SSH设置文件“C:\ProgramData\SSH\sshd\u config”中更改/添加了以下行 我重新启动了ssh服务器以应用设置更改。 我安装了ngrok并运行ng

    • 我知道我可以使用KDE dolphin在远程机器中打开一个目录,我可以通过ssh直接访问该目录,但如果该机器距离我们只有一跳呢?通常,当我必须打开此类机器上的终端(我们称之为目的地)时,我会发出以下命令: 这允许我连接到“中间”服务器。然后,从: 如何使用KDE Dolphin从本地机器在目标中打开文件浏览器?

    • 我正在尝试使用JProfiler分析远程主机/服务器上的Web应用程序,但该过程似乎比我想象的要复杂。 我已经设法在我的开发工作副本上本地评测了,但结果在那里没有用处。 有没有一种方法可以将JProfiler连接到该服务器,而无需将其安装在远程机器/服务器上,因为这不是我拥有的选项。类似于远程调试,我在其中配置主机和端口并连接。 提前感谢!