Czy mogę ssh na moim koncie bez wywoływania .profile?

10

Chcę ssh na moim koncie, ale nie chcę, aby bieżąca wersja mojego skryptu logowania .profile została wykonana. Czy istnieje sposób na zalogowanie się bez uruchamiania pliku .profile?

(Zastrzeżenie: Znalazłem obejście, które zamieściłem poniżej, ale zastanawiam się, czy jest lepsza odpowiedź)

Jeremy Stein
źródło

Odpowiedzi:

16

Możesz uruchomić następujące polecenie:

ssh -t user@host bash --noprofile

gdzie -topcją sshjest wymuszenie przydziału tty .

enzotib
źródło
Dziękuję Ci! Pomogło mi to zalogować się do mojego serwera, który miał pełny dysk. Zajęło mi trochę czasu, aby zdać sobie sprawę, że mój plik .bashrc mógł powodować zapisy na dysku.
Ben Davis,
3

Tak właśnie skończyłem:

scp me@machine:.profile .
# Fix .profile
scp .profile me@machine:.
ssh me@machine
Jeremy Stein
źródło
3

Aby trwale uniknąć problemów, w moim .bashrcsystemie docelowym mam:

if [ -z "$SSH_CLIENT" ] ; then  
...
fi

otaczające rzeczy niezgodne z ssh. SSH_CLIENTjest zdefiniowany dla powłok wywoływanych przez ssh, a nie dla innych powłok.

ssh user@somewhere "env >env.ssh"

przejdź się somewhere, zaloguj jako useri:

env >env.local
diff env.local env.ssh
waltinator
źródło