C#通过SharpSSH库与Linux服务器建立SSH连接并执行命令

在Unity3D项目开发工具时需要用到SSH连接远程Linux服务器执行命令,找到SharpSSH链接库后,通过此方法就可使用。

  /// <summary>
    /// SSH登录远程Linux服务器,并运行指令
    /// </summary>
    /// <param name="host">远程Linux服务器IP或域名</param>
    /// <param name="username">账号名</param>
    /// <param name="password">账号密码</param>
    /// <param name="commands">命令</param>
    /// <returns></returns>
    public static bool RunSSHCommands(String host, String username, String password, String[] commands)
    {
        if (commands == null || commands.Length == 0)
            return false;

        try
        {
            SshExec exec = new SshExec(host, username);
            exec.Password = password;

            //XXLog.Log(String.Format("[{0}]Connecting...", host));
            exec.Connect();
            //XXLog.Log("OK");

            foreach (String command in commands)
            {
                if (command == null || command.Trim().Length == 0) continue;

                string output = exec.RunCommand(command);
                //XXLog.Log(output);
            }

            //XXLog.Log("Disconnecting...");
            exec.Close();
            //XXLog.Log("OK");

            return true;
        }
        catch (Exception e)
        {
            XXLog.Log(e.Message);
            return false;
        }
    }
时间: 2024-10-08 00:02:27

C#通过SharpSSH库与Linux服务器建立SSH连接并执行命令的相关文章

linux服务器查看网卡连接的交换机IP和PORT

cdpr命令: 安装:yum -y install cdpr   (安装epel库) [21:53:07 [email protected] ~]# cdpr -h cdpr - Cisco Discovery Protocol Reporter Version 2.4 Copyright (c) 2002-2010 - MonkeyMental.com d: Specify device to use (eth0, hme0, etc.) h: Print this usage t: time

【linux】——FreeBSD 建立 SSH 连接慢的解决方法

一般在编写 linux 程序的时候,会使用 SecureCRT 或者 xshell 等工具远程登录到 linux 服务器上.最近发现在建立 SSH 连接的时候,非常慢,但是建立连接成功之后可以正常使用.这个原因其实是 DNS 的问题.公司提供了两个 DNS 服务器,一个是新的,一个是老的现在作为备用.发现把 DNS 服务器改为新的之后,就不会出现这个情况.解决方案如下: vim /etc/resolv.conf 然后添加信息:  nameserver DNS地址 最后执行命令: /etc/net

linux -- 启动时启动服务或者执行命令

运行等级 首先,我们需要知道Linux系统关于运行等级的知识.在不同的linux系统上(例如ubuntu和Fedora)这些数字与和所代表的意义可能不同,但主要的有以下几个: 单用户模式. 多用户模式. 网络多用户模式. 用于特殊目的的预留 添加显示管理器到等级3 因此,对于普通的运行等级,服务使用等级3,这时不管X11是否启动,服务将自动启动. 服务,守护进程,服务器 在Ubuntu中,可以使用sys-rc-conf命令简单的选择需要启动的已安装服务. 在Fedora下,可以使用chkconf

Linux程序可以编译连接但是执行时找不到*.so 一般都和LD_LIBRARY_PATH有关

http://bbs.chinaunix.net/thread-983182-1-1.html PATH变量: 此变量代表可执行程序在任意位置直接输入指令执行时,系统会到此变量标记的目录里去找对应的可执行程序. 有些命令的路径没有在PATH环境变量中,可以用echo $PATH命令查询得知,添加路径到PATH环境变量的方法如下: (1)如果只想在本次开机过程中临时性的添加修改,下次开机就无效的话,可以: export PATH=$PATH:path -----path为命令所在路径 (2)如果只

Linux下通过ssh连接github

github每次pull/push代码时要求推送代码的用户是合法的,所以每次推送时候都要输入账号密码用以验证用户是否为合法用户,而ssh是一种安全的传输模式,可以代替用户的这一"输入账号密码"的行为来验证用户. github共支持2种操作方式 https 可以随意克隆github上的项目,而不管是谁的:在pull/push的时候是需要验证用户名和密码的 ssh 克隆者必须是拥者或管理员,且需要先添加 SSH key ,否则无法克隆.在pull/push的时候不再是验证用户名和密码,而是

华为公有云linux服务器上ssh登录的安全加固

linux服务器主要是通过ssh进行登录,但是在华为公有云上,如何保证登录安全性呢?本次以centos7为例,对ssh登录进行安全加固 修改默认端口 在linux上,修改ssh登录的默认端口,比如修改到5000 vim /etc/ssh/sshd_config 在第17行,将注释#删掉,修改为port 5000' 增加iptables开放端口5000 配置iptables #iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport

Linux服务器在SSH客户端如何实现免密登录

一.SSH客户端Setting 配置 key ,  创建生成公钥导出文件. 二.服务器 master 上生成密钥 通过执行命令 ssh-keygen -t rsa 来生成我们需要的密钥. ssh-keygen -t rsa 执行上面的命令时,我们直接按三次回车,之后会在用户的根目录下生成一个 3个 的文件夹. cd .ssh查看改目录. authorized_keys id_rsa id_rsa.pub known_hosts cd .ssh 三.远程密钥登录 这里介绍最常用的三种方式,一是通过

linux中解决SSH连接慢问题

现在连接linux服务器一般都是使用SSH远程连接的方式.最近新装了一台服务器,发现telnet时速度很快,ping时一切也正常,但SSH连接的时候却很慢.经过网上资料查询,大致是有以下几种原因: 1.SERVER的SSHD会去DNS查找访问的CLIENT IP的HOSTNAME,如果DNS不可用或者没有相关记录,就会消耗一段时间. 2.在authentication gssapi-with-mic有时候也会消耗一段时间 一.测试查找具体原因: 1.使用ssh -v host进行debug #

Linux优化远程SSH连接

优化远程SSH连接 1.Linxu和Window的ssh连接区别 Windom默认3389端口,管理员administartor 普通是guest Linux 默认22端口 管理员root 普通一堆 2.修改默认配置 ssh服务的启动文件sshd(d表示服务端) 2-1修改 /etc/ssh/sshd_config GSSAPIAuthentication yes 解决一台服务器管理多个ssh服务 UseDNS no 加快响应速度因为在内网环境下 PermitRootLogin no 不运行ro