Linux培训
美国上市Linux培训机构

400-111-8989

热门课程

Linux 中的 5 个 SSH 别名例子

  • 发布:ch-cn Linux中国
  • 来源:Linux资讯
  • 时间:2018-04-17 16:23

今天小编将为大家带来一篇Linux系统中的5个SHH别名例子,关注Linux的小伙伴赶快来看一看吧~

我们可以用 定义在你的.bashrc文件里的别名 或函数来大幅度缩减花在命令行界面(CLI)的时间。但这不是最佳解决之道。最佳办法是在ssh配置文件中使用SSH别名 。-- Surendra Anne

作为一个Linux用户,我们常用 ssh命令 来登入远程机器。ssh 命令你用得越多,你在键入一些重要的命令上花的时间也越多。我们可以用 定义在你的.bashrc文件里的别名或函数来大幅度缩减花在命令行界面(CLI)的时间。但这不是最佳解决之道。最佳办法是在 ssh 配置文件中使用 SSH别名 。

这里是我们能把 ssh 命令用得更好的几个例子。

ssh登入到AWS(译注:Amazon Web Services,亚马逊公司旗下云计算服务平台)实例的连接是一种痛。仅仅输入以下命令,每次也完全是浪费你时间。

1. ssh-p3000-i /home/surendra/mysshkey.pem ec2-user@ec2-54-20-184-202.us-west-2.compute.amazonaws.com

缩短到:

1. sshaws1

调试时连接到系统。

1. ssh-vvv the_good_user@red1.taggle.abc.com.au

缩短到:

1. sshxyz

在本篇中,我们将看到如何不使用bash别名或函数实现 ssh 命令的缩短。ssh 别名的主要优点是所有的 ssh 命令快捷方式都存储在一个单一文件,如此就易于维护。其他优点是 对于类似于SSH和SCP的命令 我们能用相同的别名。

在我们进入实际配置之前,我们应该知道 /etc/ssh/ssh_config、/etc/ssh/sshd_config 和 ~/.ssh/config 文件三者的区别。以下是对这些文件的解释。

/etc/ssh/ssh_config和~/.ssh/config间的区别

系统级别的SSH配置项存放在 /etc/ssh/ssh_config,而用户级别的SSH配置项存放在 ~/.ssh/config 文件中。

/etc/ssh/sshconfig和/etc/ssh/sshdconfig间的区别

系统级别的SSH配置项是在 /etc/ssh/ssh_config 文件中,而系统级别的SSH 服务端配置项存放在 /etc/ssh/sshd_config 文件。

在~/.ssh/config文件里配置项的语法

~/.ssh/config 文件内容的语法:

1. 配置项 值

2. 配置项 值1值2

例1: 创建主机(www.linuxnix.com)的SSH别名

编辑 ~/.ssh/config 文件写入以下内容:

1. Hosttlj

2.  Userroot

3.  HostName18.197.176.13

4.  port22

保存此文件。

以上ssh别名用了

☉ tlj 作为一个别名的名称

☉ root 作为将要登入的用户

☉ 18.197.176.13 作为主机的IP地址

☉ 22 作为访问SSH服务的端口

输出:

1. sanne@Surendras-MacBook-Pro:~ >sshtlj

2. WelcometoUbuntu16.04.3LTS (GNU/Linux4.4.0-93-genericx86_64)

3.  *Documentation:  https://help.ubuntu.com

4.  *Management:     https://landscape.canonical.com

5.  *Support:        https://ubuntu.com/advantage

6.   Getcloud supportwithUbuntuAdvantageCloudGuest:

7.     http://www.ubuntu.com/business/services/cloud

8. Lastlogin:SatOct1401:00:432017from20.244.25.231

9. root@linuxnix:~#exit

10.logout

11.Connectionto18.197.176.13closed.

例2: 不用密码用ssh密钥登到系统要用 IdentityFile 。

例:

1. Hostaws

2.  Userec2-users

3.  HostNameec2-54-200-184-202.us-west-2.compute.amazonaws.com

4.  IdentityFile~/Downloads/surendra.pem

5.  port22

例3: 对同一主机使用不同的别名。在下例中,我们对同一IP/主机18.197.176.13用了 tlj、 linuxnix、linuxnix.com 三个别名。

~/.ssh/config文件内容

1. Hosttlj linuxnix linuxnix.com

2.  Userroot

3.  HostName18.197.176.13

4.  port22

输出:

1. sanne@Surendras-MacBook-Pro:~ >sshtlj

2. WelcometoUbuntu16.04.3LTS (GNU/Linux4.4.0-93-genericx86_64)

3. *Documentation: https://help.ubuntu.com

4. *Management: https://landscape.canonical.com

5. *Support: https://ubuntu.com/advantage

6. Getcloud supportwithUbuntuAdvantageCloudGuest:

7. http://www.ubuntu.com/business/services/cloud

8. Lastlogin:SatOct1401:00:432017from220.244.205.231

9. root@linuxnix:~#exit

10.logout

11.Connectionto18.197.176.13closed.

12.sanne@Surendras-MacBook-Pro:~ >sshlinuxnix.com

13.WelcometoUbuntu16.04.3LTS (GNU/Linux4.4.0-93-genericx86_64)

14.*Documentation: https://help.ubuntu.com

15.*Management: https://landscape.canonical.com

16.*Support: https://ubuntu.com/advantage

1. Getcloud supportwithUbuntuAdvantageCloudGuest:

2. http://www.ubuntu.com/business/services/cloud

3. Lastlogin:SunOct1520:31:082017from1.129.110.13

4. root@linuxnix:~#exit

5. logout

6. Connectionto138.197.176.103closed.

7. [6571] sanne@Surendras-MacBook-Pro:~ >sshlinuxnix

8. WelcometoUbuntu16.04.3LTS (GNU/Linux4.4.0-93-genericx86_64)

9. *Documentation: https://help.ubuntu.com

10.*Management: https://landscape.canonical.com

11.*Support: https://ubuntu.com/advantage

12.Getcloud supportwithUbuntuAdvantageCloudGuest:

13.http://www.ubuntu.com/business/services/cloud

14.Lastlogin:SunOct1520:31:202017from1.129.110.13

15.root@linuxnix:~#exit

16.logout

17.Connectionto18.197.176.13closed.

Linux 中的 5 个 SSH 别名例子

例4: 用相同的SSH别名复制文件到远程系统

语法:

1. scp<文件名> <ssh_别名>:<位置>

例子:

1. sanne@Surendras-MacBook-Pro:~ >scpabc.txt tlj:/tmp

2. abc.txt                          100%  12KB 11.7KB/s  00:01   

3. sanne@Surendras-MacBook-Pro:~ >

若我们已经将ssh主机设置好一个别名,由于 ssh 和 scp 两者用几乎相同的语法和选项,scp 也可以轻易使用。

请在下面尝试从本机 scp 一个文件到远程机器。

例5: 解决Linux中的SSH超时问题。默认情况,如果你不积极地使用终端,你的ssh登入就会超时

SSH超时问题[3] 是一个更痛的点意味着你在一段时间后不得不重新登入到远程机器。我们能在 ~/.ssh/config 文件里边恰当地设置SSH超时时间来使你的会话不管在什么时间总是激活的。我们将用2个能保持会话存活的SSH选项来实现这一目的。之一是 ServerAliveInterval 保持你会话存活的秒数和 ServerAliveCountMax 在(经历了一个)给定数值的会话之后初始化会话。

1. ServerAliveIntervalA

2. ServerAliveCountMaxB

例:

1. Hosttlj linuxnix linuxnix.com

2.  Userroot

3.  HostName18.197.176.13

4.  port22

5.  ServerAliveInterval60

6.  ServerAliveCountMax30

以上就是小编今天跟大家分享的Linux中的5个SSH别名例子,看了文章之后是否对你有所帮助呢?想了解更多的Linux信息,欢迎关注达内Linux官网,这里有你想知道的信息哦~最后祝你能成为一名优秀的Linux运维工程师

via: https://www.linuxnix.com/5-ssh-alias-examples-using-ssh-config-file/

作者:SURENDRA ANNE[5] 译者:ch-cn 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

预约申请免费试听课

上一篇:为你介绍一下Linux 中 grep 命令的 12 个实践例子
下一篇:Linux 中shell 逻辑运算符、逻辑表达式详解

教Linux运维人员怎样使用screen

达内Linux培训讲师介绍——达内集团Linux云计算教研总监周华飞

如果你会一点Linux,想工资翻倍,不要错过这个机会!

现如今Linux系统和Windows系统关系如何?

选择城市和中心
贵州省

广西省

海南省