2011-06-15 25 views
13

Tek gereksinimim var: Yerel dosyaları uzak sisteme kopyala. Aşağıdaki yapmış: yolunu ve her şeyi ayarlamakAnt skp görev hatası

  1. indirilen JSch-0.1.44.jar Karınca'daki
  2. lib klasörüne kopyalanan

Benim Buildfile geçerli:

BUILD FAILED com.jcraft.jsch.JSchException: reject HostKey: 10.184.74.168 
    at com.jcraft.jsch.Session.checkHost(Session.java:712) 
    at com.jcraft.jsch.Session.connect(Session.java:313) 
    at com.jcraft.jsch.Session.connect(Session.java:154) 
    at org.apache.tools.ant.taskdefs.optional.ssh.SSHBase.openSession(SSHBase.java:212) 
    at org.apache.tools.ant.taskdefs.optional.ssh.Scp.upload(Scp.java:291) 
    at org.apache.tools.ant.taskdefs.optional.ssh.Scp.execute(Scp.java:203) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) 
    ... etc ... 
: Ben Ant çalıştırdığınızda
<project name="ImportedBuild" default="all"> 
    <target name="copyFileToRemote"> 
    <echo>2222222222 copyFileToRemote Examples:::::::::::::</echo> 
    <scp file="sample.txt" todir="${username}:${password}@${hostname}:/shared"/> 
    </target> 
</project> 

, bu hatayı alıyorum

Bunu nasıl düzeltebiliriz?

+0

Soru kütüğünüzü, derleme dosyasını içerecek şekilde düzenlemeye değecektir. Okumayı biraz daha kolaylaştırmak için kodu, günlükleri vb. Biçimlendirebilirsiniz. –

cevap

33

Ant scp task Docs göre trust attribute: konak (10.184.74.168) sizin knownhosts dosyasında olmadığını görünecek şekilde

This trusts all unknown hosts if set to yes/true. Note If you set this to false (the default), the host you connect to must be listed in your knownhosts file, this also implies that the file exists.

trust nitelik, görev çağrısında kullanılmaz. trust="true" eklediğinizi veya barındırıcınızı bilinenhosts dosyasına ekleyeceğinizi önerin.

+3

Bunu da verdim ... hala aynı hatayı gösteriyor – user617228

+0

@ user617228, zaten bilinen bir ana bilgisayar anahtarıyla, bilinen_host'larınızdaki ana makinedir. Bu ana bilgisayar için tüm girişleri delete_hosts içinde silmeyi deneyin ve trust = "true" ile test edin – oers

+0

@Martin clayton: Bu harika çalışmam benim için –

3

~/.ssh/known_hosts dosyanızın un-hashed ana bilgisayar adlarını kullandığından emin olun; Satırlar |1|base64data... başlarsa, JSch bunları ayrıştıramadı. hostname[,hostname|ip]* ssh-keytype base64data... biçiminin satırlarını oluşturun.

Bilinen_host'ların tam biçiminde man 8 sshd konusuna ve sunucunun genel anahtarının nerede bulunacağıyla ilgili ipuçlarına bakın.

+0

İpucunuz sorunumu çözmeme yardımcı oldu. Bununla birlikte, JSCH arabirimi aracılığıyla el ile bilinen unknown_hosts dosyasını oluşturmam gerekiyordu. JSch desteklenen formatlarda oldukça seçici gibi görünüyor. –