HOME 生活记录运维/编程
作者/来源:yixinu.com
栏目:运维/编程
日期:2013-07-17 12:33:12


如果你需要频繁使用ssh登录服务器,可能会遇到如下问题:

服务器限制了登录IP,只要某些地址比如只有办公室的机器可以直接登录服务器。回家以后,要登服务器只能先SSH到办公室的机器,再从办公室SSH登录服务器。如果还需要传输文件,也只能类似经过办公室的机器中转完成。麻烦之处列举如下:

  1. 两次登录

  2. 不能开图形界面

  3. 文件传输受限于中转机器的存储空间

其实,这两次ssh完全可以通过一次ssh完成,只需将远程端口映射到本地。

ssh -fN -L 4321:remote_host:22 bridge_user@bridge_host

其中4321是本地要绑定的端口号,只是个例子,你也可以取为其它空闲端口。

remost_host是要登录到的最终服务器地址

bridge_host是中转机器地址,比如上文中的办公室机器。 bridge_user是中转机器上的用户名。

输入中转机器密码后,便成功将remost_host的22号端口(ssh默认端口)绑定到本地的4321号端口。从此之后你的本地4321端口便不再是你的本地4321端口,而是你的服务器的22端口。要登录服务器,只需:

ssh -p 4321 remote_user@localhost -xY

其中remote_user是remote_host上的用户名,-xY表示如有需要可在本地打开图形界面。输入remote_host上的密码之后,便登录成功。

上述端口绑定过程只需进行一次,此后remote_user@localhost:4321便等价于remote_user@remote_host:22,可以直接ssh,或者sftp,scp,或者rsync。比如

sftp -oPort=4321 remote_user@localhost
scp -P 4321 myfile remote_user@localhost:copytofile
rsync -e "ssh -p 4321" myfile  myfile remote_user@localhost:copytofile

常用命令可以设置alias,以后便可方便跳转啦!


分享到:

Copyright © 2013-2014 yixinu.com 湘ICP备14004402号

QQ:316686606  Email: 316686606@qq.com