2010-05-10 19 views
6

Devo consentire l'accesso a un repository svn usando gli indirizzi e-mail come nome utente. Posso accedere al server su SSH nessun problema modificando l'indirizzo di posta elettronica "@" ad un "$" in questo modo:Indirizzo email come nome utente in accesso snn + ssh?

ssh [email protected] 

Purtroppo, lo stesso non funziona per svn + ssh. Questo mi porta da nessuna parte:

svn ls svn+ssh://[email protected]/home/accountname/data/svn/repos 

Qualcuno sa come si fa di solito?

risposta

4

Poiché si tratta di un URL, hai provato la codifica URL del segno @? Non so se questo avrebbe funzionato, ma potresti provare user.name%40mydomain.com.

+0

Ha! La codifica dell'URL non ha funzionato, ma la% (invece di $) è ciò che era necessario. Quindi la stringa di accesso è in realtà: svn ls svn + ssh: //user.name%[email protected]/home/accountname/data/svn/repos Non avrei trovato che senza questo suggerimento . Grazie! – Andrew

+0

Strano. Non avrei mai pensato di poter sostituire uno di quei caratteri ($ in ssh o% in svn + ssh) per il carattere @. In effetti, penserei che $ mydomain nel comando SSH venga rimpiazzato da una stringa vuota, quindi in questo caso si finisce con user.name.com. Ma hey, se funziona, bene! –

-1

L'$ non viene sostituito dalla shell che si sta utilizzando? E SVN ha solo nomi utente invece di user + email per l'autenticazione. Presumo che questo non funzionerebbe.

+0

Sono stato attento a creare sia la connessione ssh che la connessione svn nello stesso modo nella stessa shell, quindi mi sarei aspettato che anche le credenziali fossero gestite allo stesso modo. Ho provato a eliminare "@ mydomain.com" (oltre a molte altre varianti) e ottengo lo stesso risultato. Il problema è che sul mio host, il nome utente è un indirizzo email. Non so se l'autenticazione è gestita da svn o passata direttamente a ssh o qualcosa da qualche parte nel mezzo. – Andrew

0

Come dice la risposta precedente, se ci si trova su una scatola UNIX, il programma shell probabilmente sta tentando di sostituire $ come se fosse una variabile. Prova la fuga il segno "$" includendo una barra rovesciata prima in questo modo:

svn ls svn+ssh://user.name\[email protected]/home/accountname/data/svn/repos 

In alternativa, se si utilizzano virgolette singole intorno l'URL, o qualsiasi altra cosa BASH shell che si sta utilizzando non dovrebbe provare a sostituire il $.

svn ls 'svn+ssh://[email protected]/home/accountname/data/svn/repos' 
Problemi correlati