我有两台Linux工作机,一台(A)下载了很多软件,另一台(B)没有。今天,我突然需要在B上安装一大堆A上已经下载过的软件。因此,我需要将它们拷贝过来。A和B都有些安全设置,只允许通过ssh客户端访问。
如果重新设置两台机器是很麻烦的,因此,我用gFTP来解决这个问题。gFTP是开源的ftp客户端,安装Redhat9.0时如果选择全部安装,它就会出现在图1所示位置中。
图 1
我在使用中遇到小小的一点问题,因此,记录在此。
我遇到的问题:
我在B机器启动gFTP,直接输入主机,用户名,密码和协议部分选择SSH2,回车,以为立刻就可以工作,结果显示
正在SSH到172.16.201.128
运行程序: ssh -e none -l root 172.16.201.128 "echo -n xsftp ; sftp-server"
The authenticity of host '172.16.201.128 (172.16.201.128)' can't be established.
RSA key fingerprint is 28:f8:7b:7f:79:fe:38:d8:b3:c0:d4:e4:2f:40:25:2e.
Are you sure you want to continue connecting (yes/no)?
Please connect to this host with the command line SSH utility and answer this question appropriately.
等待 30 秒再重新尝试连接
我以为这是需要在命令行中用ssh登录一次的原因,于是我就在命令行中登录A机器
#ssh -l root 172.16.201.128
登录过程中会要求保存RSA Key,选择保存。再回到gFTP中连接A机器(172.16.201.128),结果出现另外一个问题。
正在SSH到172.16.201.128
运行程序: ssh -e none -l root -p 22 172.16.201.128 "echo -n xsftp ; sftp-server"
root@172.16.201.128's password:
xsftp
3:协议初始化
错误:Message size 1650553704 too big from server
正在断开与服务器 172.16.201.128 的连接
从服务器收到错误的回应,连接中断
则我可有点挠头了。因为任务很紧,我只好用一个Window的工具SecureFTP先从A拷到本地(通过sftp),又拷到B。完事后,我继续研究为什么gFTP不能连接目标服务器。我查了一下相关资料,注意到sftp协议是建立在ssh2基础上的服务,本身和ftp没有任何直接关系。于是我想是不是gFTP有什么设置没打开。找到gFTP的选项卡,在SSH果然发现有一个选项:使用SSH2 SFTP子系统。它没有被选中。如图二选中后再次连接,搞定!密码筐弹出来了输入正确密码,两台机器的目录都显示出来了。
图 2