April 5th, 2007
SCP über ANT mit public rsa key
Normalerweise ist bei einigermaßen sicheren SSH-Servern die Passwortauthentifizierung deaktiviert.
Nun möchte man aber dennoch gerne Automatisches Deployment auf diese Server mittels SCP-Task über ANT realisieren.
Dies ist möglich über RSA-Keys. Da ich immer wieder vergesse, was man da nun genau machen muss, hier nun ein Kochrezept:
- Per SSH mit dem User, der auch der Deploy-User wird, auf das Zielsystem einloggen
- Im Home-Verzeichnis das Verzeichnis .ssh anlegen
> md .ssh - Den SSH-Keygenerator starten
> ssh-keygen -t rsa -f ./.ssh/id_rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): - Ein Passwort (Passphrase) eingeben:
Enter same passphrase again: - Nochmal:
Your identification has been saved in ./.ssh/id_rsa.Nun sind zwei Dateien entstanden:
Your public key has been saved in ./.ssh/id_rsa.pub.
The key fingerprint is:
0a:c2:a5:bc:90:fb:5d:37:2c:95:21:54:6f:0b:86:38 jboss@blablablals -la .ssh/
-rw------- 1 jboss jboss 1743 2007-03-08 11:51 id_rsa
-rw-r--r-- 1 jboss jboss 398 2007-03-08 11:51 id_rsa.pub - Dem Verzeichnis .ssh die Rechte für others nehmen:
> chmod 750 .ssh - Die Datei id_rsa wird auf den lokalen Rechner kopiert
- Die Datei id_rsa.pub wird umbenannt zu authorized_keys
> cd .ssh
> mv id_rsa.pub authorized_keys - So, nun kann der SCP-Task entsprechend gestartet werden:
<scp…wobei ${scp.keyfile} der Pfad zu der lokalen Datei id_rsa und ${scp.pass} die eingegebene Passphrase ist.
port="${scp.port}"
trust="yes"
remoteTodir="${scp.user}:${scp.pass}@${scp.host}:${scp.dir}"
verbose="yes"
passphrase="${scp.pass}"
keyfile="${scp.keyfile}">
<fileset dir="jboss" includes="**/*" />
</scp>
Alles gut!


One Response to “SCP über ANT mit public rsa key”
Hi,
kann es sein, dass der SCP-Task Probleme mit großen Keys hat? Ich bekomme es einfach nicht zum Laufen. Die Fehlermeldung ist:
invalid privatekey. Mein Key hat die Größe von 4096.June 11th, 2007 at 10:15
Leave a Reply