Hi Brian,
I tried to download a file with sftp protocol in pushpull framework
and got two warnings and a severe error message as follows:
WARNING: Error occurred while connecting to RemoteSite: alias =
'SCPTESL2CO2' url = 'sftp://agent.bu.ac.kr' username = 'yhkang'
cdTestDir = 'null' maxConnections = '-1' : Failed to connect to host
agent.bu.ac.kr : reject HostKey: agent.bu.ac.kr
Aug 6, 2012 2:13:48 PM
org.apache.oodt.cas.pushpull.protocol.ProtocolHandler
getAppropriateProtocolBySite
WARNING: ProtocolFactory
org.apache.oodt.cas.protocol.sftp.JschSftpProtocolFactory is not
compatible with server at sftp://agent.bu.ac.kr
Aug 6, 2012 2:13:48 PM
org.apache.oodt.cas.pushpull.retrievalsystem.RetrievalSetup
retrieveFiles
SEVERE: Failed to finish downloading per property files
/home/yhkang/oodt-0.5/cas-pushpull/etc/examples/DirStructXmlParserFiles/SCPTESL2CO2.xml
: Failed to get appropriate protocol for RemoteSite: alias =
'SCPTESL2CO2' url = 'sftp://agent.bu.ac.kr' username = 'yhkang'
cdTestDir = 'null' maxConnections = '-1'
org.apache.oodt.cas.protocol.exceptions.ProtocolException: Failed to
get appropriate protocol for RemoteSite: alias = 'SCPTESL2CO2' url =
'sftp://agent.bu.ac.kr' username = 'yhkang' cdTestDir = 'null'
maxConnections = '-1'
at
org.apache.oodt.cas.pushpull.protocol.ProtocolHandler.getAppropriateProtocolBySite(ProtocolHandler.java:166)
at
org.apache.oodt.cas.pushpull.retrievalsystem.FileRetrievalSystem.changeToDir(FileRetrievalSystem.java:304)
at
org.apache.oodt.cas.pushpull.retrievalmethod.RemoteCrawler.processPropFile(RemoteCrawler.java:104)
at
org.apache.oodt.cas.pushpull.retrievalsystem.RetrievalSetup.retrieveFiles(RetrievalSetup.java:109)
at org.apache.oodt.cas.pushpull.daemon.Daemon$1.run(Daemon.java:218)
at java.lang.Thread.run(Thread.java:662)
Aug 6, 2012 2:13:48 PM org.apache.oodt.cas.pushpull.daemon.Daemon$1 run
INFO: Daemon with ID = 90121 on RMI registry port 9012 is shutting down
I think the warning message is related with an exception occurred in
the method connect() of JschSftpClient.java:
protected void connect(String host, final String username,
final String password) throws ProtocolException {
try {
System.out.println(System.getProperty("user.home") + "/.ssh/known_hosts");
jsch.setKnownHosts(System.getProperty("user.home") + "/.ssh/known_hosts");
session = jsch.getSession(username, this.getRemoteSite().getURL()
.getHost(), 22);
session.setPassword(password);
session.connect();
sftpChannel = (ChannelSftp) session.openChannel("sftp");
sftpChannel.connect();
} catch (Exception e) {
throw new ProtocolException("Failed to connect to host " + host + " : "
+ e.getMessage());
}
}
I make sure that there is no problem when downloading a file by scp
command without any password as follows:
scp
[email protected]://home/yhkang/oodt-0.5/TL2CO2N.005/2004.09.20/TES-Aura_L2-CO2-Nadir_r0000002147_F06_09.he5
.
TES-Aura_L2-CO2-Nadir_r0000002147_F06_09.he5 100% 88MB 87.9MB/s 00:01
Let me know how to fix the problem.
Thanks,
Yunhee