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ź)

Odpowiedzi:


16

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

ssh -t user@host bash --noprofile

gdzie -topcją sshjest wymuszenie przydziału tty .


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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.