scp tobb hop/jump host-on keresztul

Fórumok

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:

 

Host jump1
        Hostname jump1
        User jump1user

Host jump2
        Hostname jump2
        User jump2user
        ProxyJump jump1

Host dest
        Hostname dest.example.com
        User destuser
        ProxyJump jump2

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?

Ajjajj...

  1. a szerveren lévő privát kulcsot akarod használni (miután beléptél)? Vagy nem kéne, hogy ott legyen, vagy nem volna szabad használnod. Ha kell, akkor legyen több privát kulcsod lokálisan és töltsd be mind!
  2. jelszó alapú azonosítás (2020-ban)

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:

  • man ssh_config, man sshd, man sshd_config
  • mivel több hop-os a dolog, multiplexeld a kapcsolatot, hogy ne kelljen mindig az időt vesztegetned azzal, mire felépül a tunnel. pl:
 ControlPath ~/.ssh/%r@%h.sock
 ControlMaster auto
 ControlPersist 2m

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."

Szerkesztve: 2020. 06. 04., cs - 18:20

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"

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.

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. 

Host dest
    ProxyCommand ssh -o 'ForwardAgent yes' jump2 'ssh-add && nc %h %p'

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.