在平时运维工作中,通过设置ssh别名来访问远程系统,可以节省不少时间。通过ssh为频繁访问的系统创建ssh别名,这样就不必记住所有不同的用户名、主机名、SSH 端口号和 IP 地址等。此外,它避免了在ssh到linux服务器时重复输入相同的用户名、主机名、IP 地址、端口号。

通过情况下,我们使用ssh连接远程服务器时,会用到"端口号"、"用户名" 和 "IP地址" 或 "主机名":

[root@python2 ~]# ssh -p22 kevin@172.16.60.205
kevin@172.16.60.205's password:
[kevin@web-node01 ~]$ [root@python2 ~]# ssh -p 22 kevin@web-node01
kevin@web-node01's password:
[kevin@web-node01 ~]$

其中:
22     是端口号,
kevin      是远程系统的用户名,
172.16.60.205      是远程系统的IP,
web-node01      是远程系统的主机名(前提是可以在本机ping通这个主机名)。

下面介绍两个设置ssh别名的方法:

方法一、使用 SSH 配置文件

 使用 ssh 默认配置文件来创建 ssh 别名。为此,编辑 ~/.ssh/config 文件(如果此文件不存在,只需创建一个)。在当前用户家目录的.ssh/config文件中添加所有远程主机的详细信息

[root@python2 ~]# vim ~/.ssh/config
Host webserver
HostName 172.16.60.205
User kevin
Port 8888
Host dnsserver
HostName dns.bo.cn
User root
Host dbserver
HostName 172.16.60.210
User shibo
Port 22222

然后就可以使用这些ssh别名进行远程服务器的连接了

[root@python2 ~]# ssh webserver
[root@python2 ~]# ssh dnsserver
[root@python2 ~]# ssh dbserver

需要特别注意:
上面配置只使用于当前用户。如果要为所有用户(系统范围内)提供别名,那么就需要在/etc/ssh/ssh_config 文件中添加以上几行的内容。还可以在 SSH 配置文件中添加许多其他内容。例如,可以配置基于SSH密钥的身份验证,说明SSH 密钥文件的位置,如下所示:

Host webserver
HostName 172.16.60.140
User kevin
IdentityFIle ~/.ssh/id_rsa_remotesystem

方法二: 使用 Bash 别名

这是创建ssh别名的一种应急变通的方法,可以加快通信的速度。你可以使用alias命令使这项任务更容易。打开 ~/.bashrc 或者 ~/.bash_profile 文件:

[root@python2 ~]# vim ~/.bashrc
alias webserver='ssh -p8888 kevin@172.16.60.205'
alias dnsserver='ssh root@dns.bo.cn'
alias dbserver='ssh -p22222 shibo@172.16.60.210'
alias haha='ssh -p6666 kevin@172.16.60.140 -i ~/.ssh/id_rsa_remotesystem'

使用命令应用更改:

[root@python2 ~]# source ~/.bashrc

然后直接使用别名就可以连接了:

[root@python2 ~]# webserver
[root@python2 ~]# dnsserver
[root@python2 ~]# dbserver
[root@python2 ~]# haha

如下面配置示例:

[root@kevin ~]# cat /root/.bashrc
# .bashrc # User specific aliases and functions alias rm='rm -i'
alias vi='vim'
alias cp='cp -i'
alias mv='mv -i'
alias jk='ssh 192.168.10.146'
alias jk3='ssh 192.168.11.146'
alias jk4='ssh 192.168.11.147'
alias xps='ssh 192.168.11.217'
export TERM=xterm
unset SSH_ASKPASS [root@kevin ~]# jk
Last login: Mon Jul 22 10:19:51 2019 from 172.20.20.65
[root@jenkins ~]#

Docker容器学习梳理 - SSH方式登陆容器的更多相关文章

  1. Docker容器学习梳理 - 应用程序容器环境部署

    关于国内Docker镜像,可以参考:Docker容器学习梳理--基础知识(2) 的Docker镜像使用. 如果我们需要在Docker环境下部署tomcat.redis.mysql.nginx.php等 ...

  2. Docker容器学习梳理 - 日常操作总结

    使用Docker已有一段时间了,今天正好有空梳理下自己平时操作Docker时的一些命令和注意细节: Docker 命令帮助 $ sudo docker Commands: attach Attach ...

  3. Docker容器学习梳理 - 基础知识(2)

    之前已经总结了Docker容器学习梳理--基础知识(1),但是不够详细,下面再完整补充下Docker学习的一些基础. Docker是个什么东西 Docker是一个程序运行.测试.交付的开放平台,Doc ...

  4. Docker容器学习梳理 - Dockerfile构建镜像

    在Docker的运用中,从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其 ...

  5. Docker容器学习梳理 - 容器硬盘热扩容

    前面已介绍了docker很多知识点的操作记录,今天这里梳理下docker容器空间扩展的操作.默认情况下,物理机下创建的docker容器的空间是10G(虚拟机下创建的docker容器空间就是虚拟机的空间 ...

  6. Docker容器学习梳理 - 容器间网络通信设置(Pipework和Open vSwitch)

    自从Docker容器出现以来,容器的网络通信就一直是被关注的焦点,也是生产环境的迫切需求.容器的网络通信又可以分为两大方面:单主机容器上的相互通信,和跨主机的容器相互通信.下面将分别针对这两方面,对容 ...

  7. Docker容器学习梳理 - Volume数据卷使用

    之前部署了Docker容器学习梳理--基础环境安装,接下来看看Docker Volume的使用. Docker volume使用 Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker ...

  8. Docker容器学习梳理 - 容器时间跟宿主机时间同步

    在Docker容器创建好之后,可能会发现容器时间跟宿主机时间不一致,这就需要同步它们的时间,让容器时间跟宿主机时间保持一致.如下: 宿主机时间 [root@slave-1 ~]# date Fri M ...

  9. Docker容器学习梳理 - 基础知识(1)

    Docker是PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源.Docker是通过内核虚拟化技 ...

随机推荐

  1. EntityFramework Code-First 简易教程(十一)-------从已存在的数据库中映射出表

    怎样从一个已存在的数据库中映射表到 entity 实体? Entity Framework 提供了一个简便方法,可以为已存在的数据库里的所有表和视图创建实体类(entity class),并且可以用 ...

  2. Django日志信息路径的设置

    django日志信息路径的设置, 因为我们经常在代码业务上线时候 需要进行调试,查看代码的后台运行情况,就需要设置django项目的具体的日志信息运维的路径了 LOGGING = { 'version ...

  3. SQL SERVER孤立帐号的处理

    Step1:查询 Use KSHR_F23 Go exec sp_change_users_login @Action='Report' Go Step2:处理 Use KSHR_F23 Go exe ...

  4. python中json序列化的东东

    之所以写这个因为自己总是弄混了,容易弄错,记下来有事没事看看   序列化是指把变量从内存中变成可存储或传输的过程称之为序列化用(使用dump或者dumps),把变量内容从序列化的对象重新读到 内存里称 ...

  5. windows 实用技巧

    以下内容版权归原作者所有!!!如果侵权,立即删除. 1.系统激活:https://mp.weixin.qq.com/s/Kl_iEeSSxSprblfSRZ6yEQ 2.百度云下载:https://w ...

  6. Django应用:学习日志网站

    目录 一.创建虚拟环境(Windows) 二.创建项目 三.创建应用程序 四.创建网页:学习笔记主页 五.创建其他网页 六.用户输入数据 七.用户账户 八.让用户拥有自己的数据 九.设置应用程序样式 ...

  7. 数据分组、统计 case when then else end

    case when 对表进行条件分组 case简单函数 case   age  when   then select name , sex , age , ( case age /*when 条件成立 ...

  8. NSObject

    一.前言 该博客里面的方法均是看着苹果官方的API来解释的,一般都是常用的方法如有问题,请指出. 二.简介: 该类集成的是其本身,大家可以从任何一个类去向上追溯,都会发现最终的父类都是NSObject ...

  9. java注释讲解

    注释简单的来说就是一种说明,不能被当成执行语句执行.做为一名程序员,但我们在写代码时是顺着思路写下去的.写代码好比就是在做题.当你在做的时候你脑海时的思路很清晰,会想到用一些特殊的方法来解决当前的问题 ...

  10. java用星星符号打印出一个直角三角形

    package debug; public class Demo10 { public static void main(String[] args) { //用星星符号打印出一个直角三角形 for( ...