科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道OpenSSH远程管理登录技巧

OpenSSH远程管理登录技巧

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

OpenSSH是一个非常奇异的工具,有着为数众多的选项和诀窍可用,如果你有足够的创造力,你有无数的发挥空间。在远程连接和管理方面,再没有其他工具比OpenSSH更灵活更强大的了。

作者:ZDNet China 2007年3月15日

关键字: 网络管理 OpenSSH

  • 评论
  • 分享微博
  • 分享邮件
OpenSSH是一个非常奇异的工具,有着为数众多的选项和诀窍可用,如果你有足够的创造力,你有无数的发挥空间。在远程连接和管理方面,再没有其他工具比OpenSSH更灵活更强大的了。

举例来说,假设你已经有了远程网络上多台电脑的存取权限,但是只能通过一台堡垒主机来连接它们。假如这个连接远程网络的“网关”是在一台机器上(该机器在本文中被称为“警卫”),而且支持ssh连接。那么通过这个系统,你就可以ssh到其他系统上。不过,要想对其他系统进行任何存取的话,你就必须通过“警卫”才能进行。

一个传统的登录情景就会看起来类似下面这样:

[me@myhost]$ ssh guard.example.com
[me@guard]$ ssh work1

如果你常常需要连到这些系统(比如work1)上的话,那么这个先连接“警卫”,然后再连接其他系统的过程将会非常的令人厌烦。OpenSSH可以让我们使用一点小技巧来解决这个问题,你只要简单的从本地系统上ssh work1,然后直接登录远程的work1系统即可,而无须再首先登录到“警卫”上。

具体做法是:编辑你的“~/.ssh/config”文件。这里你将需要添加几行,以保证配置正确。

Host guard guard.example.com
Hostname guard.example.com
ForwardAgent yes
ForwardX11 no
LocalForward 9001 10.0.2.50:22
LocalForward 9002 10.0.2.51:22
LocalForward 9003 10.0.2.52:22

Host w1 w2 w3
ForwardAgent yes
ForwardX11 no
Hostname localhost
NoHostAuthenticationForLocalhost yes

Host w1
Port 9001

Host w2
Port 9002

Host w3
Port 9003

本质上来说,你所做的就是进行了几个主机的配置,以允许你方便的连接远程工作系统(这些远程系统名字分别就是“w1”,“w2”,“w3”,远程系统叫什么名字其实并不重要,因为你是通过在LocalForward声明中所注明的IP地址来进行连接的)。除了"NoHostAuthenticationForLocalhost"这个关键词外,其他的我觉得都是一看就明,无须多说。

而"NoHostAuthenticationForLocalhost"这个关键词主要是用于防止在每一次连接远程系统时ssh进行抱怨;因为每一次连接都通过localhost,然后到一台完全不同的物理主机上,ssh会注意到对“localhost”而言,它的host一直在不断的变化之中,所以如果没有这个关键词选项的话,ssh必然会进行抱怨的。

现在,你需要启动你的“主连接”,它将成为控制频道,而所有到远程系统的连接必须通过它。该连接将需要到“警卫”的认证,并保持一直处于开放状态。

$ ssh -fMN guard

这个命令会在后台打开主连接,现在你就可以简单的通过“ssh w1”或者“ssh w2”这样的命令来连接这些远程系统了。同样,这也可以让你简单的从本地系统scp文件到远程系统上,而无须再重复拷贝两次文件:第一次将文件拷贝到”“警卫”机器上,第二次再从“警卫”中拷贝到远程系统上。

(责任编辑:陈毅东

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章