I am LAZY bones? AN ancient AND boring SITE

2008年 07月 23日 的归档

scp代理

我写的ssh快速登陆脚本可以方便地通过跳板登陆到目标服务器,也就是 本机->hostA->hostB.
但是当有个本地文件像上传给hostB的时候,一般还是得先scp到hostA,再登陆hostA,scp到hostB,是不是必须这么麻烦呢?答案显然是不是的,不然我也不会在写这篇日志了,:)
下面就看看我的方法:
编辑 ~/.ssh/config 文件,加入以下几行

Host hostB
User usernameB
ProxyCommand ssh usernameA@hostA nc %h %p

然后,只要在本机输入 scp filename hostB:/remote/path(这里不要写usernameB了) 就可以直接将文件复制到目标地点了,哈哈.
当然如果你没有设置公钥对的话,过程中会让你输两次密码,一次是hostA的密码,一次是hostB的密码.
还有有个前提条件,就是hostA中必须安装有 nc(netcat).