답변:
bash의 경우 :
$ ssh hostname "bash --noprofile"
-t
옵션 도 필요 하다고 생각합니다.
또한 잘못된 로그인 파일을 삭제하려면 WinSCP와 같은 FTP 프로그램을 사용해보십시오. 이것은 그것을 버릴 것이지만 최소한 기본 쉘에 로그인 할 수 있어야합니다
다른 사람들이 언급했듯이 연결을 시작할 때 플래그로 bash 를 실행 --noprofile
하면 작동하지만 다른 쉘을 사용하는 경우 옵션 일 수도 있고 아닐 수도 있습니다.
한 가지 대안은 프로파일 스크립트가 SSH 연결 자체를 감지하고 그에 따라 동작하도록하는 것입니다. SSH 연결은 일반적으로 많은 환경 변수를 설정하므로 쉽게 확인할 수 있습니다. 프로필 시작 부분에 다음 줄을 추가하면 충분합니다.
if [ "$SSH_CONNECTION" != "" ]; then
echo Logging in with ssh
return
else
echo Logging in with something that is not ssh
fi
# rest of your profile goes here
는 return
경우 생성 스크립트의 나머지 건너 뜁니다 $SSH_CONNECTION
SSH 연결이 시작 될 때마다 일반적으로 생성 될 환경 변수가 설정됩니다. 그렇지 않으면 프로파일이 정상적으로 실행됩니다.
영향을받는 프로필 스크립트 만 건너 뜁니다. 다른 모든 프로파일 스크립트 (예 /etc/profile
:)는 비슷하게 수정하지 않으면 계속 처리됩니다.