SSH 技巧

SSH 是 Linux 下进行远程连接的基本工具。 一般情况下我们可以通过 ssh username@xxx.xxx.xxx.xxx 登录远程服务器,如果要管理多台服务器,这样太长了。 可以在家目录的 .ssh 中新建config文件,设置别名。 比如我的个人云主机,

# Host 可跟多个表示别名
Host cloud  alias
    HostName 120.163.xxx.323
    User ubuntu
    Port 4722
    # 私钥路径
    IdentityFile ~/.ssh/id_rsa

这样执行 ssh cloudssh alias 就无密码登录云主机了

1. 执行远程命令

ssh cloud "df -h"

image.png

2. 用分号分隔多个命令,用引号引起来

ssh cloud "df -h; ps;"

3. 遇到需要交互的命令,加 -t 参数

$ ssh -t cloud top

比如 sudo 开头的可能需要用户输入密码,需要 TTY。 添加 -t 参数后,ssh 会保持登录状态,直到你退出需要交互的命令。

image.png

4. 执行多行命令

$ ssh cloud "echo 'haha'
> pwd
> ls "

可以用单引号或双引号开头,然后写上几行命令,最后再用相同的引号来结束。 > 开头的就是输入下一行命令 如果需要在命令中使用引号,可以混合使用单双引号。

image.png

5. 在命令中使用变量

在远程服务器执行 ls node,本地定义变量a,传入到命令中。达到一样的效果。 在下图的命令中为 bash 指定了 -c 参数

$ a=node
$ ssh cloud bash -c " '
> ls $a
> ' "

image.png

6. 执行本地脚本

本地创建demo.sh,内容是:ls node 运行 ssh cloud < demo.sh 通过重定向 stdin,本地的脚本 demo.sh 在远程服务器上被执行。

image.png

7. 为脚本传入参数

修改 demo.sh 内容为:

ls node
echo $0
echo $1
echo $2

执行 ssh cloud 'bash -s'< demo.sh aa bb cc bash 就是 $0 第一个参数。

image.png

参考:

http://www.openssh.com/ https://www.cnblogs.com/sparkdev/p/6842805.html https://www.zcfy.cc/article/top-20-openssh-server-best-security-practices

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏wblearn

package.json文件快速入门详解

相信入门nodejs或者npm的同学会对package.json这个文件有疑惑,对这个文件的作用不是很清晰,但搭建自己的博客每每用到node,npm这个文件又必...

1461
来自专栏互联网软件技术

wangEditor-基于javascript和css开发的 Web富文本编辑器, 轻量、简洁、易用、开源免费(2)

1614
来自专栏性能与架构

一个小巧实用的User-Agent解析库

UAParser.js 有时我们需要判断客户端的一些信息,如浏览器的类型、型号等,然后进行相应处理,例如,如果是使用微信访问的,就怎么怎么处理。 这就需要从 U...

7647
来自专栏linux运维学习

linux学习第四十二篇:限定某个目录禁止解析php, 限制user_agent,PHP相关配置

限定某个目录禁止解析php 虚拟主机配置文件添加的核心配置内容: <Directory /data/wwwroot/111.com/upload> ...

2559
来自专栏along的开发之旅

windows下安装调教ubuntu 17.10步骤

安装ubuntu好多次了, 每次安装都有一些重复步骤要走, 但是这些步骤又比较细, 不用的时间一长就忘记了, 所以在这里单独记录一下, 省的每次都要google...

802
来自专栏玄魂工作室

Hacker基础之Linux篇:基础Linux命令三

我们继续学习Linux 1. find find命令用来在指定目录下查找文件,任何位于参数之前的字符串都将被视为欲查找的目录名。 如果使用该命令时,不设置任何参...

3016
来自专栏木子昭的博客

5分钟将简书markdown文章批量迁移到django站点

链接地址: https://fangyuanxiaozhan.com (欢迎访问, 哈哈!)

1043
来自专栏开源优测

AutoLine源码之RobotFramework运行器

在AutoLine中我们自定义实现了RobotFramework的运行器,其路径如下图所示:

1333
来自专栏iOSer成长记录

Mac下使用OpenGL——配置glew/glut/glfw3/gltools环境

2406
来自专栏Coding迪斯尼

java开发操作系统:一个程序向另一个程序伸出的咸猪手

1704

扫码关注云+社区

领取腾讯云代金券