SSH远程连接工具

SSH远程连接工具摘自 https www cnblogs com ftl1012 p ssh htmlhttps www cnblogs com youngerger p 9104144 htmlSSH 是 Linux 下进行远程连接的基本工具 但是如果仅仅用它来登录那可是太浪费啦 SSH 命令可是完成远程操作的神器啊 借助它我们可以把很多的远程操作自动化掉 下面就

摘自:

       https://www.cnblogs.com/ftl1012/p/ssh.html

       https://www.cnblogs.com/youngerger/p/9104144.html

SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是太浪费啦!SSH 命令可是完成远程操作的神器啊,借助它我们可以把很多的远程操作自动化掉!下面就对 SSH 的远程操作功能进行一个小小的总结。

 SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。

ssh服务端由2部分组成: openssh(提供ssh服务)    openssl(提供加密的程序)

ssh的客户端可以用 XSHELL,Securecrt, Mobaxterm等工具进行连接。

 

1.登录                   

       ssh -p22 omd@192.168.25.137 //远程连接默认连接用户的home目录               

2.直接执行命令  -->最好全路径                   

       ssh root@192.168.25.137 ls -ltr /backup/data                       

       ==>ssh root@192.168.25.137 /bin/ls -ltr /backup/data               

3.查看已知主机                    

        cat /root/.ssh/known_hosts

4.ssh远程执行sudo命令

       ssh -t omd@192.168.25.137 sudo rsync hosts /etc/

5.scp -->远程文件的安全(加密)拷贝                   

       scp -P22 -r -p /home/omd/h.txt omd@192.168.25.137:/home/omd/                             

   scp是加密远程拷贝,cp为本地拷贝。可以推送过去,也可以拉过来。每次都是全量拷贝(效率不高,适合第一次),增量拷贝用rsync

6.ssh自带的sftp功能               

             1.Window和Linux的传输工具                   

                  wincp   filezip                   

               sftp  -->基于ssh的安全加密传输                   

               samba   

             2.sftp客户端连接                   

                sftp -oPort=22 root@192.168.25.137

//linux下使用命令:sftp -oPort=22 root@x.x.x.x                             

                put /etc/hosts /tmp    

//put加客户端本地路径上传               

                get /etc/hosts /home/omd                              

//get下载服务器端内容到本地 

远程执行命令

如果我们要查看一下某台主机的磁盘使用情况,是不是必须要登录到目标主机上才能执行 df 命令呢?当然不是的,我们可以使用 ssh 命令在远程的主机上执行 df 命令,然后直接把结果显示出来。整个过程就像是在本地执行了一条命令一样:

$ ssh  "df -h"

那么如何一次执行多条命令呢?其实也很简单,使用分号把不同的命令隔起来就 OK 了:

$ ssh  "pwd; cat hello.txt"

SSH远程连接工具

执行需要交互的命令

有时候我们需要远程执行一些有交互操作的命令。

$ ssh  "sudo ls /root" $ ssh  "top"

SSH远程连接工具

SSH远程连接工具

执行多行的命令

有时候我们可能需要随手写几行简单的逻辑,这也没有问题,ssh 能轻松搞定!

SSH远程连接工具

SSH远程连接工具

当我们在命令中引用了变量时会怎么样呢?

SSH远程连接工具

SSH远程连接工具

注意,我们在上图的命令中为 bash 指定了 -c 参数。

远程执行脚本

对于要完成一些复杂功能的场景,如果是仅仅能执行几个命令的话,简直是弱爆了。我们可能需要写长篇累牍的 shell 脚本去完成某项使命!此时 SSH 依然是不辱使命的好帮手(哈哈,前面的内容仅仅是开胃菜啊!)。

 1)执行本地的脚本

我们在本地创建一个脚本文件 test.sh,内容为:

ls pwd

然后运行下面的命令:

$ ssh  < test.sh

SSH远程连接工具

通过重定向 stdin,本地的脚本 test.sh 在远程服务器上被执行。

接下来我们我期望能为脚本 test.sh 传递一个参数,为了验证传入的参数,在 test.sh 文件的末尾添加两行:

echo $0 echo $1

然后尝试执行下面的命令:

$ ssh  < test.sh helloworld $ ssh  < "test.sh helloworld"

下图显示了执行的结果:

SSH远程连接工具

$ ssh  'bash -s' < test.sh helloworld

SSH远程连接工具

在上图的最后两行,输出的是 “bash” 和 “helloworld” 分别对应 $0 和 $1。

2)执行远程服务器上的脚本

ls pwd

执行下面的命令:

$ ssh  "/home/nick/test.sh"

SSH远程连接工具

注意,此时需要指定脚本的绝对路径!

下面我们也尝试为脚本传递参数。在远程主机上的 test.sh 文件的末尾添加两行:

echo $0 echo $1

然后尝试执行下面的命令:

$ ssh  /home/nick/test.sh helloworld

SSH远程连接工具

真棒,最后两行 “/home/nick/test.sh” 和 “helloworld” 分别对应 $0 和 $1。

                                          

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233055.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • BurpSuite系列(五)—-Intruder模块(暴力激活成功教程)「建议收藏」

    BurpSuite系列(五)—-Intruder模块(暴力激活成功教程)「建议收藏」一、简介BurpIntruder是一个强大的工具,用于自动对Web应用程序自定义的攻击,BurpIntruder是高度可配置的,并被用来在广范围内进行自动化攻击。你可以使用BurpIntruder方便地执行许多任务,包括枚举标识符,获取有用数据,漏洞模糊测试。合适的攻击类型取决于应用程序的情况,可能包括:缺陷测试:SQL注入,跨站点脚本,缓冲区溢出,路径遍历;暴力攻击认证

    2022年7月12日
    71
  • Ubuntu安装gcc-7.3.0[通俗易懂]

    Ubuntu安装gcc-7.3.0[通俗易懂]下载gcc-7.3.0.tar.gzfromhttps://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz.有一些依赖提前安装:sudoaptinstalllibgmp-devsudoaptinstalllibmpfr-devsudoaptinstalllibmpc-devsudoaptinstalllibisl-devsudoaptinstallzlib1g-dev(建.

    2022年7月24日
    25
  • webservice有哪些框架_前端主流js框架

    webservice有哪些框架_前端主流js框架Webservice框架CXF最新版本:2.2.2开源服务框架,可以通过API,如JAX-WS,构建和开发服务。服务可以使多种协议的,例如SOAP,XML/HTTP,RESTfulHTTP, CORBA,并可以工作与多种传输协议之上,如HTTP,JMS,JBI。主要特性l 支持Webservice标准:包括SOAP,theBasicProfile,WSDL,WS-Addres…

    2022年9月21日
    5
  • 【idea】推荐一个idea翻译插件:Translation「建议收藏」

    【idea】推荐一个idea翻译插件:Translation「建议收藏」打开settings-plugins,打开Browserepositories(如图):搜索”Translation”,往下找,找到图中插件install即可(我是已经安装了的)我的插件版本现在是支持谷歌、有道、百度三种翻译,其中有道和百度的需要填写应用id及secret等才能用,这个需要到有道智云(百度的没有试过)申请。使用很简单:选中单词或者段落ctrl+shift+…

    2022年6月15日
    144
  • 5gwifi信道哪个最好,wifi信道在哪里设置如何检测哪个路由器信道最快

    5gwifi信道哪个最好,wifi信道在哪里设置如何检测哪个路由器信道最快5G的WIFI信道选择相当重要,在不同的国家为了保证政府与军用部分与5G相交频道的使用,通过网卡驱动锁定或路由器固件锁定了5G的WIFI信道使用权限,而这些被锁定的频道,使用性能都是相对好,受到自然或非自然因素干扰最少的;而突破这些限制,才能发挥5G的WIFI真正性能。  双频路由器5ghz设置哪个信道最好  1、国内规定可用的5G信道只有149、153、157、161、165这5个(…

    2022年5月2日
    4.7K
  • onclick与addEventListener区别

    onclick与addEventListener区别这次做项目遇到了这个问题,本来习惯性的每次都写的是addEventListener绑定click事件。但是当用addEventListener绑定了多次click事件的时候,引发了我的思考,这两者有区别吗?具体的事件分析可查看另一篇文章结论:1.onclick事件在同一时间只能指向唯一对象2.addEventListener给一个事件注册多个listener3.addEventLi…

    2022年7月12日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号