SCP Agent Forward-dal
Felmerült a feladat, hogy SCP-zzek olyan gépre ahova csak SSH Agent Forward-dal lehet bejutni. (Igazábol egy SCB követelte meg a dolgot.)
A probléma az, hogy az SCP alapból nem továbbít SSH Agent-et. De szerencsére rátaláltam erre az írásra, ami megadta a megoldást.
A probléma gyökere az, hogy az SCP amikor meghívja az SSH-t akkor alaból kikapcsolja az Agent továbbítást, és ezt nem lehet felülbírálni sem a ~/.ssh/config szerkesztésével, sem a -A parancssori opcióval.
Szerencsére van az SCP-nek egy -S opciója, ahol meg lehet adni, hogy milyen SSH binárist futtasson. Így ha írunk egy wrappert, ami kiszedi a default Agent Forward tiltást az SCP által az SSH-nak átadott opciókból akkor nyert ügyünk van. Mentsük el a következő 3 soros kis script-et valami néven, például ssh-wrapper, adjunk rá végrehajtási jogot
#!/usr/bin/perl
exec '/usr/bin/ssh', map {$_ eq '-oForwardAgent no' ? '-oForwardAgent yes' : $_} @ARGV;
majd ezek után az SCP-t futtassuk a következő módon
$ scp -S ./ssh-wrapper some-file my-server:
végül dőljünk hátra elégedetten!:)
No comments:
Post a Comment