망 쳤어 .bashrc에서 종료 호스트 “bash –noprofile –norc”(연결

.bashrc 파일에 “exit”를 넣었습니다. 기계에 물리적으로 액세스 할 수 없으므로 ssh를 사용합니다. 나는 루트 권한이 없습니다. 서버에 연결할 때마다 연결이 자동으로 닫힙니다.

지금까지 시도했습니다.

  • scp 및 sftp로 .bashrc를 덮어 씁니다. 내가 무엇이든 할 수 있기 전에 연결이 닫힙니다.
  • 몇 가지 다른 GUI 프로그램을 사용하여 ssh에 액세스 (연결 종료)
  • ftp로 파일을 덮어 씁니다. (ftp를 사용할 수 없습니다)
  • 내 집 컴퓨터에서
    • $ ssh 호스트 “bash –noprofile –norc”(연결 종료)
    • $ ssh 호스트 “mv .bashrc bashrc_temp”(연결 종료)
    • $ ssh 호스트 “rm .bashrc”(같은 것)
    • $ ssh host -t (연결이 닫힙니다)

.bashrc를 비활성화하기 전에 .bashrc를 비활성화하거나 파일을 덮어 쓸 수있는 방법이 있습니까?

최신 정보

@ ring0

나는 당신의 제안을 시도했지만 운이 없습니다. bashrc 파일이 여전히 먼저 실행됩니다.

내가 시도한 또 다른 것은 다른 계정으로 로그인하여 .bashrc를 편집하는 sudo이지만이 계정에 대한 sudo 권한이 없습니다.

관리자에게 연락 할 것 같습니다.

편집하다

shell

나는 그것을 믿을 수 없지만이 접근법은 효과가있었습니다! “출구”처음 몇 줄 내에서 발생에도 불구하고 (몇 구성된 경우 블록 및 수출 의 .bashrc 파일에, 난 아직 스무 시도에서 성공적으로 인터럽트 Ctrl 키-C에 관리 문) (삼분 걸렸다). .bashrc에서 문제가되는 줄을 제거하고 모든 것이 다시 작동합니다.



답변

종료 부분 .bashrc이 실행 되기 전에 중단 (ctrl + C)을 시도 할 수 있습니다 .

테스트 사용자의 bashrc 상단에 다음을 추가하여 시도했지만 작동하지만 타이밍 문제 일뿐입니다. 내 경우에는 매우 쉽습니다.

sleep 3
echo "Too late... bye"
exit 0

답변

시험판 액세스 권한이 부여 된 새 클러스터에서 .bashrc 파일도 엉망으로 만들었습니다. 멍청한 듯하고 싶지 않은, 내가하고 싶은 마지막 일은 관리자에게 도움을 요청하는 것이었고, 잘 작동하는 ^ + C를 얻지 못했습니다.
그러나 효과가 있었던 것은 ‘rm’명령을 ssh의 최종 인수로 보내는 것이 었습니다. 즉

ssh -tv user@host rm .bashrc

작동하기 위해 ‘mv’명령을 얻을 수 없었으므로 (-t없이 시도) -t 옵션이 수행해야한다고 생각하지만 원하는 경우 테스트 할 수 있습니다. 나는 이제 .bashrc ~ 파일 (vim 제작)에서 문제가되는 dodgy 줄을 제외한 모든 것을 복구했으며 세계에서 모든 것이 옳습니다! = D


답변

다른 사용자로 로그인 할 수 있으면 다음을 시도하십시오.

su user -s /bin/sh

물론 암호가 필요합니다.


답변

내가 이와 같은 나쁜 경험을 회상하면 ssh, scp, sftp는 초기화 파일을 실행하는 것처럼 보입니다.

내 제안은 간단한 FTP를 사용하고 로그인 한 후 FTP 명령 줄에서 잘못된 파일을 삭제하거나 이름을 바꾸는 것입니다. 시스템에서 FTP 액세스를 허용한다고 가정합니다. 이 경우 수리가 완료되면 비밀번호를 (안전하게) 변경하십시오.


답변

에서 man ssh(위해 OpenSSH_5.6p1적어도 확실하지가 추가 될 때),

~/.ssh/rc
        Commands in this file are executed by ssh when the user logs in, just
        before the user's shell (or command) is started.  See the sshd(8) manual
        page for more information.

.. ~/.ssh/rc다음을 포함하여 만들 수 있음을 의미합니다 .

mv ~/.bashrc ~/bak.bashrc

그런 다음 ssh로그인 쉘이 시작되기 전에 문제가있는 bashrc가 빠져 나옵니다. 그러면 분명히 수정하고 bak.bashrc다시 제자리로 옮길 수 있습니다


답변

SCP 또는 SFTP를 통해 연결하고 .bashrc 파일을 그런 식으로 편집 / 이름 바꾸기 / 삭제하십시오. 편집-D’ oh, 나는 당신이 그것을 시도했다고 말한 것을 본다. 오 잘


답변

나는 같은 문제를 겪었고 어떻게 든 해결할 수있었습니다. ssh를 사용하여 시스템에 액세스하고 시스템에 로그인하자마자 Ctrl + c를 길게 누릅니다. 그런 다음 ~ / .bashrc를 읽지 못하여 수정할 수있었습니다.