Schrift
[thread]4350[/thread]

SSH: SSH Agent Forwarding + Authentication

Leser: 2


<< >> 7 Einträge, 1 Seite
Taulmarill
 2004-04-13 15:44
#38155 #38155
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
hm, für mich hört sich das nach einem ssh problem an.
gebe evtl. alles manuell an, in etwa so
Code: (dl )
ssh -i ~/.ssh/identity remoteuser@remotehost "commando"
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Taulmarill
 2004-04-13 16:00
#38156 #38156
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
ähm, halt.
ich lese aus deinem post heraus das du auf deiner lokalen maschiene einen agent laufen hast. so weit so gut.
auf der maschiene auf die du dich als erstes einloggst, also per my $ssh = Net::SSH::Perl->new($host);, läuft da auch ein agent?
beachte! "ssh appsvc1 hostname" wird auf der remotemaschiene ausgeführt, und zwar warscheinlich ohne shell, ohne .profile (das kommt darauf an wie Net::SSH::Perl intern arbeitet).
wenn du ein komando auf einer remotemaschiene ausführst, benutze am besten absolute pfade und gebe alle händisch an, du musst es ja nur ein mal im script machen.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Taulmarill
 2004-04-13 16:40
#38157 #38157
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
-i file Identity for public key authentication (default: ~/.ssh/identity)
bei -i sollst du deinen public key angeben und nicht die authorized_keys.

RTFM, man ssh (nicht bös gemeint, aber das musste mal gesagt werden).
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Snox
 2004-04-13 15:53
#38158 #38158
User since
2004-04-13
4 Artikel
BenutzerIn
[default_avatar]
[quote=Taulmarill,13.04.2004, 13:44]hm, für mich hört sich das nach einem ssh problem an.
gebe evtl. alles manuell an, in etwa so
Code: (dl )
ssh -i ~/.ssh/identity remoteuser@remotehost "commando"
[/quote]
Warum SSH Problem? Über das Terminal funktioniert das einwandfrei.
Net::SSH::Perl benutz auch für den ersten SSH Befehl den Agent, nur nicht mehr beim zweiten. Auch möchte ich keinen Passwort losen Key auf dem 2. Host hinterlegen. Aus diesem Grund muss das Agent Forwarding mit rein.\n\n

<!--EDIT|Snox|1081857456-->
Snox
 2004-04-13 14:48
#38159 #38159
User since
2004-04-13
4 Artikel
BenutzerIn
[default_avatar]
Hallo,

für SSH Verbindungen mit Perl benutzte ich Net:SSH::Perl.
Die Anmeldung an dem Host erfolgt immer per Key und ohne Passwort, da hier der Agent mit eingebunden ist.

Eine einfache Verbindung, Host A zu Host B ist auch ohne Probleme möglich. Leider muss ich von Host A über Host B zu Host C gelangen, um dort weitere Skripte ausführen zu können. Versuche ich eine weitere SSH-Verbindung von Host B zu Host C aufzumachen ( my $cmd = "ssh appsvc1 hostname"; ) bekomme ich immer einen premission denied.

Ich denke da funktioniert was nicht mit dem Agent Forwarding.
Über das Terminal geht das alles Einwandfrei.
- Kann mir jemand vielleicht helfen?
- Wie kann man mit Net::SSH::Perl das Agent Forwarding benutzten?

---
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/perl -w

use strict;
use Net::SSH::Perl;
use Net::SSH::Perl::Agent;
use Net::SSH::Perl::Key;

my $agent = Net::SSH::Perl::Agent->new(1);
my $iter = $agent->identity_iterator;
while (my($key, $comment) = $iter->()) {
       ## Do something with $key.
print ("Key: " , $key , ":" , $comment ,"\n");
print ("test\n");
print ("-----------------------------------------\n\n");
my $host = "iksa-hop1";
my $user = "daitdsi";
my $ssh = Net::SSH::Perl->new($host);
$ssh->login($user);
my $cmd = "ssh appsvc1 hostname";
my($stdout, $stderr, $exit) = $ssh->cmd($cmd);
print ("-----------------------------------------\n\n");
print ("out: $stdout\n");
print ("-----------------------------------------\n\n");
print ("err: $stderr\n");
print ("-----------------------------------------\n\n");
print ("exi: $exit\n");
print ("-----------------------------------------\n\n");
}

exit(0);

---

MFG Snox\n\n

<!--EDIT|renee|1081859983-->
Snox
 2004-04-13 16:20
#38160 #38160
User since
2004-04-13
4 Artikel
BenutzerIn
[default_avatar]
Ok, ich hab's mal versucht, doch leider ohne Erfolg.

--- Source ---
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use strict;
use Net::SSH::Perl;
use Net::SSH::Perl::Agent;
use Net::SSH::Perl::Key;

my $agent = Net::SSH::Perl::Agent->new(1);
my $iter = $agent->identity_iterator;
while (my($key, $comment) = $iter->()) {
       ## Do something with $key.
print ("Key: " , $key , ":" , $comment ,"\n");
print ("test\n");
print ("-----------------------------------------\n\n");
my $host = "iksa-hop1";
my $user = "daitdsi";
my $ssh = Net::SSH::Perl->new($host);
$ssh->login($user);
my $cmd = "hostname";
my($stdout, $stderr, $exit) = $ssh->cmd($cmd);
print ("Erster Host: $stdout\n");
$cmd = ". /home/daitdsi/.bashrc; ssh -i /home/daitdsi/.ssh/authorized_keys daitdsi\@appsvc1 hostname";
($stdout, $stderr, $exit) = $ssh->cmd($cmd);
print ("-----------------------------------------\n\n");
print ("Zweiter Host: $stdout\n");
print ("-----------------------------------------\n\n");
print ("err:\n$stderr\n");
print ("-----------------------------------------\n\n");
print ("exi:\n$exit\n");
}

exit(0);
\n\n

<!--EDIT|renee|1081861517-->
Snox
 2004-04-14 11:59
#38161 #38161
User since
2004-04-13
4 Artikel
BenutzerIn
[default_avatar]
[quote=Taulmarill,13.04.2004, 14:40]-i file Identity for public key authentication (default: ~/.ssh/identity)
bei -i sollst du deinen public key angeben und nicht die authorized_keys.

RTFM, man ssh (nicht bös gemeint, aber das musste mal gesagt werden).[/quote]
Ja kein Prob, bin da nicht böse. Bin froh das mir überhaupt jemand weiterhilft, da die Doku von Net::SSH::Perl mehr als ausführlich ist.

Die Keys sind identisch. Sorry, hatte ich vergessen zu sagen.
<< >> 7 Einträge, 1 Seite



View all threads created 2004-04-13 15:44.