Hello,
van egy
localhost -> jump1 -> jump2 -> dest
felallasom. A jump1 es jump2 kozott van kulcsos beleptetes. A localhostrol szeretnek a dest-re masolgatni.
Parancssorban mar osszeraktam a megfelelo ssh-t:
ssh -L 1234:localhost:1234 user1@jump1 ssh -L1234:dest:22 user2:jump2
Igy egyszer kell becsapolnom a jelszot (a jump1-hez) es utana mar csak az scp-hez kell a dest felhasznalo jelszava. Ez igy meg elfogadhato is.
Szerettem volna berakni az .ssh/config -ba, hogy nem keveredjen el, meg ez a heppem.
Host dest
HostName jump2
User user2
ProxyCommand ssh -t user1@jupm1 -W %h:$p
LocalForward 1234 dest:22
Sajnos itt elveszitettem a fonalat. Ha identity file-t adok meg, akkor azt a localhost-on keresi. Tehat az ssh-add -ot kellene a Proxycommand-ban futtatnom. Talaltam is ra peldakat, de csak NetCat-tel. Olyanom meg nincs. SSH-bol is csak 5.3-as.
Ja igen, a problema a masodik esettel, hogy nem hasznalja az ssh kulcsot, igy ket jelszot kell beirnom.
Valoszinuleg valamit nagyon elbenazok, es nem veszem eszre, tuti, hogy egyszeru.
Hozzászólások
Ha nem tul regi az ssh-d akkor ProxyJump-ot is hasznalhatsz, lenyegeben ugyanaz mint a ProxyCommand-os megadas csak egyszerubb leirni, egyebkent felveszed a hostokat sorban es megadod melyik melyiken keresztul proxyzzon, pl:
Köszi, ez hasznos nekem is.
Hali,
Ezzel probalkoztam mar, de csak az ssh 7.3-nal jelent meg.
Udv,
battila
ProxyJump helyere ugyanugy megadhatod a Proxycommand-os korabbi modszert is ha regebbi verziod van, a localforward-ra meg hacsak nem igenyled kulon akkor nincs szukseged. Csak felveszed igy egymas utan lancolgatva a hostokat megadva bennuk melyiket hasznaljak jump-nak es utana scp file dest1:~/ , vagy hogy probalod scp-t miutan ssh configba belirtad hostokat, milyen hibat ad?
Mint irtam, azt szeretnem, hogy a a hop1-en levo ssh kulcsot hasznalja a hop2-re valo belepesnel.
A konfiguracio mit irtam mukodik, de be kell csapolnom a jelszot, a hop1-rol hop2-re valo ugrashoz is.
Ajjajj...
blackluck adott neked egy működő konfigot. Lokálisan legyen már legalább egy 7.3-as kliensed! Nálam 8.3 van jelenleg.
Amivel én kiegészíteném még:
Az SCP gáz. Használj sftp-t! :)
"If I had six hours to chop down a tree, I'd spend the first four hours sharpening the axe."
A rendszer adott, en nem tudok rajta valtoztatni. Sajat kulcsokat nem telepithetek a rendszerekre.
Mint az elejen irtam 5.3-as ssh-m van, ezen sem tudok valtoztatni. Guglizni, meg konfigot olvasni tudok, ezeket en is megtalaltam, de 5.3-asra mukodo megoldast nem (csak natcat-est ami szinten nincs a rendszeren).
SFTP nincs felkonfiguralva a rendszereken, nem mukodik, nem valtoztathatok rajta. A ControlPath-ot hasznalom, de mivel ugy nez ki, hogy az eredeti irasomat igy sem sikerult ertelmezni, mi lett volna ha 3 sorral hosszabbra irom?!?
Ez azt jelenti, hogy a localhost valójában egy szerver?
Az 5.3 azért is kellemetlen, mert egy hanyagabb konfiggal nehezebb vele rendes kriptóval beszélgetni. Ott már van értelme időnként újrakulcsolni a kapcsolat közben. De gondolom a szerver maga is régen látott már frissítést.
A te helyedben csinálnék egy saját kulcsot és azzal bekulcsolnék mindkét/mindhárom hostra. Egy VERBOSE naplózásból pontosan látszódni fog, hogy te jártál ott.
Nem fogod tudni használni a jump1-en lévő privát kulcsot anélkül, hogy lemásolnád magadhoz, vagy allokálnál a szerveren mondjuk egy bash-t.
Az SFTP-n nem kell semmit felkonfigurálnod, az OpenSSH szerver by default szolgáltatja. (ne keverd össze az ftps-sel!) maximum tiltva lehet szerver oldalon, de ez nem jellemző.
Az SCP pedig tényleg csak az RCP kiváltására készült.
Ne guglit és ne konfigot, hanem man-t olvass! :D
Kerültem már hasonlóan rossz helyzetbe... valószínűleg mindenki. Ha kötik a kezed akkor a legtöbb, amit tehetsz (azon kívül, hogy jelzed a frissítések hiányát), hogy a saját gépedről a legújabb klienssel csatlakozol (te mindent megtettél a biztonságosság érdekében) és a szerverek közti közlekedés kérdése is leegyszerűsödik.
Ehhez az ugra-bugra másoláshoz az sshfs, tsocks, vagy sshuttle is hasznos lehet. De több segítséghez kicsivel több infóra volna szükség, pl. honnét hova látni el és ki. :)
"If I had six hours to chop down a tree, I'd spend the first four hours sharpening the axe."
Ha a proxyjump nem jó és a ProxyCommand-nál maradnál, akkor adjál meg egy "-A" paramétert is az ssh-nak: "ssh -t -A user1...". Ezzel eléred, hogy a lokális agent forwardolva legyen. Azaz a lokális gépeden elegendő a kulcsoknak fent lennie, a cél gépek mindegyikére berakva az authorized_keys-be a publikus kulcsodat, végig fog engedni.
A kulcs csak a hop1-en letezik, a -A nem mukodik, mivel nem letezik az kiindulasi hoszton. A ProxyCommand nem olvassa fel a hop1-en a kulcsot, igy nem hasznalja.
ProxyCommand és ssh-add lesz a barátod.
de akár bárkinél is meglehet, akinek valaha hozzáférése volt...
Ahogy már feljebb is jelezték, ez nagyon nem jó ötlet.
Azt a kulcsot én egyből komprommittáódott-nak tekinteném.
A privát kulcs csak akkor marad privát, ha csak a te eszközödön, csak számodra hozáférhető.
(mondjuk egy céges környezetben ilyen elég kevés esetben adott, de ez már egy másik probléma)
Az a "privát kulcs" ezzel a design-nal leminősült, és így már csak egy "shared secret" maradt szegény, ennek minden előnyével és hátrányával együtt. Az SSH azonban a privát kulcsok megfelelő használatára van kitalálva, ézrt megy vele nehezen egy ilyen felállás.
zrubi.hu
Probalom lassabban irni: a rendszeren nem valtoztathatok. Igy van kobe vesve.
Ha ezzel kapcsolatban lesz kerdesem, akkor majd batran hozzatok fordulok.
De mi lenne ha a kerdesre fokuszalnank? 5.3-as ssh, kozepen van kulcsos authentikalas, amit ssh config-bol nem sikerul mukodesre biurni, de parancssorbol igen.
hát, így csak jószerencsét tudok kívánni.
Mondjuk a középső kulcsot technikailag biztosan magadnoz tudod venni, de gondolm az meg policy violation.
zrubi.hu
Hmm. Ha a hostra belepesnel azon keresztul megyek, es ss-add -dal hozzacsapom a kulcsot az AgentForward-hoz akkor az ugy akar mukodhet is. Viszont kevesbe praktikus. Egyszerubb a ket jelszo becsapolasa a tunnel felepitesehez.
Host dest
ProxyCommand ssh -o 'ForwardAgent yes' jump2 'ssh-add && nc %h %p'
"Talaltam is ra peldakat, de csak NetCat-tel. Olyanom meg nincs. SSH-bol is csak 5.3-as."
busybox van ?
"busybox nc " tudja ?
https://www.linuxjournal.com/content/more-using-bashs-built-devtcp-file… van ?
tmp -be fel nyomhatsz -e egy nc -t ?
Lehet e sajat scripted barhol ?
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
Typikusan gyorsabb rsync vagy tar .
A tavol oldalt megkerred, hogy tarolja be stdout -ra ami kell ,
a kozlit meg hogy szedji ki tart az stdin-rol .
Ha egy file akkor meg cat :-)
Amit nem lehet megirni assemblyben, azt nem lehet megirni.