Entra

View Full Version : ubuntu e openssh: settare porte di connessione di default


guylmaster
25-02-2014, 21:01
Salve a tutti,
ho delle macchine con su ubuntu e openssh che utilizzo per far funzionare hadoop. Il mio problema è che a causa della dislocazione delle macchine ho dovuto fare un forwarding delle porte ssh, ovvero mi ritrovo con:

Macchina1: ssh su porta x;
Macchina2: ssh su porta y;

Ora c'è un modo per settare su Macchina3 che se scrivo ssh ip-macchina-1, senza specificare la porta, capisca che la porta è X, mentre se scrivo ip-macchina-2, capisce che la porta è Y? leggevo che forse era possibile farlo modificando .ssh/config ma non ho capito come (tra l'altro io ho ubuntu 12.04 e openssh-server installato e quel file manco lo ho).

Tutto questo perchè hadoop, che per chi non lo conoscesse è un programma in java che permette di fare computazioni parellizzandole su più macchine, lavora proprio sulle connessioni ssh e da quel che ho capito non credo (magari mi sbaglio) sia possibile settargli una porta diversa per ogni macchina.

Vi ringrazio in anticipo,
Guylmaster.

eaman
25-02-2014, 21:10
# contents of $HOME/.ssh/config
Host dev
HostName dev.example.com
Port 22000
User fooey

guylmaster
25-02-2014, 22:31
# contents of $HOME/.ssh/config
Host dev
HostName dev.example.com
Port 22000
User fooey

se io in /etc/hosts ho settato

mioip slave2

posso scrivere:


Host slave2
HostName slave2
Port 22000
User miouser


l'host è un nome indicativo ? potrei anche scrivere cicciocapuccio?
l'user è obbligatorio?

Se il file conf non esiste, semplicemente lo creo scrivendo solo quelle righe che mi servono?

Grazie mille per la pazienza :)

eaman
26-02-2014, 11:56
se io in /etc/hosts ho settato

mioip slave2

posso scrivere:


Host slave2
HostName slave2
Port 22000
User miouser

Tu prova! Fai sicuramente prima che chiederlo a noi!
...se il tuo host risolve il nome slave2 dovrebbe andare, se no se headrop pretende di usare un DNS esterno puoi farlo con dnsmasq su questo.

l'host è un nome indicativo ? potrei anche scrivere cicciocapuccio?
l'user è obbligatorio?
Che vuol dire? Puoi usare gli alias che vuoi.
He be' l'user sara' meglio che lo precisi :P


Se il file conf non esiste, semplicemente lo creo scrivendo solo quelle righe che mi servono?

Grazie mille per la pazienza :)
Yep, sarebbe carino se fosse leggibile solo dall'utente: chmod og -r

Welcome, have fun!

guylmaster
26-02-2014, 22:51
Tu prova! Fai sicuramente prima che chiederlo a noi!
...se il tuo host risolve il nome slave2 dovrebbe andare, se no se headrop pretende di usare un DNS esterno puoi farlo con dnsmasq su questo.


Che vuol dire? Puoi usare gli alias che vuoi.
He be' l'user sara' meglio che lo precisi :P



Yep, sarebbe carino se fosse leggibile solo dall'utente: chmod og -r

Welcome, have fun!

Si hai ragione facendo semplicemente delle prove è andato.

Ora però ho un problema un pò più grande, no nho un ip pubblico.

Ora se consideriamo che ho una (in realtà più di una, essendo virtualizzate, ma il discorso non cambia) macchina ubuntu che in università ha l'ip pubblico. Poi ho due macchine virtualizzate su macos a casa che non hanno ip pubblico.

Ora su macos ho installato hamachi che mi da un ip pubblico (ok in realtà crea una vpn ma il risultato è quello), che purtroppo per ubuntu sembra non esserci più, c'è qualche modo per sfruttare l'ip pubblico del mac sulle macchine ubuntu virtualizzate?

Se lo dovessi fare io "a mano" dal computer in università farei un ssh verso macos e da macos farei un ulteriore ssh verso la macchina virtuale ubuntu. Io però devo settarlo in qualche modo di default in modo che hadoop quando cerca di collegarsi tramite ssh a mioip in realtà richiami "questa doppia connessione".

C'è qualche modo per settare una cosa del genere ?


EDIT: Ho provato a fare un tunneling ssh ovvero su macos ho aperto un terminale e ho dato il comando:

sudo ssh IP-VPN-HAMAICHI-MACOS -L 111:IP-MACCHINA-VIRTUALE:22

Ora se apro un altro terminale e do

ssh utente@localhost -p 111

Funziona, se invece do il comando:

ssh utente@IP-VPN-HAMAICHI-MACOS -p 111

Non funziona. Se do invece il comando senza il -p mi collego a macos, che non è il mio scopo ma è segno (credo) che l'ip funziona visto anche che lo pinga.

Il messaggio di errore che mi da quando dico che non funziona è:

ssh: connect to host XXXXXXX port 111: Connection refused

eaman
27-02-2014, 02:07
First thing first: sei sicuro di non avere un IP pubblico?
Perche' moltre ADSL sono con ip dinamico ma pubblico, es telecom alice.

Se no puoi appunto fare un tunnel SSH, comincia cercando un tutorial di tuo gradimento.

Oppure ancora meglio dato che per fare le frittate ci vogliono le uova:
- https://www.ovh.it/vps/index.xml
- http://www.kimsufi.com/it/#servers

Con queste oltre agli IP hai la banda, che non e' mica poco!

Valuta su cosa devi / puoi lavorare, se ti serve studiare su macchine pubbliche NON FARE IL TIRCHIO PAGA e lavora su quello che ti serve senza perderti con SSH.

sacarde
27-02-2014, 07:44
hamachi per ubuntu non c'e' piu?


https://help.ubuntu.com/community/Hamachi

http://community.logmein.com/t5/Hamachi/hamachi-on-ubuntu-12-04-LTS/td-p/89924

guylmaster
27-02-2014, 08:39
hamachi per ubuntu non c'e' piu?


https://help.ubuntu.com/community/Hamachi

http://community.logmein.com/t5/Hamachi/hamachi-on-ubuntu-12-04-LTS/td-p/89924

Ah nella sezione download "standard" non me lo dava per questo credevo fosse scomparso.

Nella guida che mi hai citato dice di dare il comando

sudo hamachi join 123456

Dicendo di sostituire 123456 con il mio id che si dovrebbe trovare sotto network profile nel sito di logmein. Sinceramente non riesco a trovare qual'è questo id, qualche idea?

sacarde
27-02-2014, 08:52
se mi ricordo bene...

da un PC devi collegarti al server hamachi e creare una rete:


hamachi create <nomerete> <passwordrete>
(hamachi go-online <nomerete>)




e poi dai client:


hamachi join <nomerete> <passwordrete>