Eu coloquei "exit" no meu arquivo .bashrc. Como não tenho acesso físico à máquina, para conectar a ela, uso o ssh. Eu não tenho privilégios de root. Sempre que eu me conecto ao servidor, a conexão é fechada automaticamente.
Até agora, eu tentei:
- Substituindo .bashrc com scp e sftp. A conexão fecha antes que eu possa fazer qualquer coisa.
- Usando alguns programas GUI diferentes para acessar o ssh (a conexão fecha)
- Sobrescrevendo o arquivo com ftp. (não pode usar ftp)
- Do meu computador doméstico
- $ ssh host "bash --noprofile --norc" (a conexão é fechada)
- $ ssh host "mv .bashrc bashrc_temp" (a conexão é fechada)
- host $ ssh "rm .bashrc" (a mesma coisa)
- $ ssh host -t (a conexão fecha)
Existe algo que eu possa fazer para desativar o .bashrc ou talvez substituir o arquivo antes que o .bashrc seja fornecido?
ATUALIZAR
@ ring0
Eu tentei sua sugestão, mas sem sorte. O arquivo bashrc ainda roda primeiro.
Outra coisa que tentei foi fazer login com outra conta e sudo editar o .bashrc, mas não tenho privilégios de sudo nessa conta.
Acho que vou entrar em contato com o administrador.
EDITAR
@shellholic
Não acredito, mas essa abordagem funcionou! Mesmo que "exit" ocorra nas primeiras linhas (compostas apenas por algumas se blocos e instruções de exportação ) no arquivo .bashrc, ainda assim consegui interromper a operação com Ctrl-c com êxito em vinte tentativas (demorou cerca de 3 minutos). Eu removi a linha incorreta no .bashrc e tudo está funcionando novamente.
man 8 sshd
diz que é9. Runs user's shell or command.
o nono passo ...: - /Respostas:
você pode tentar abortar (ctrl + C) antes que a parte de saída
.bashrc
seja executada.Eu tentei adicionando o seguinte no topo do bashrc de um testador, funciona, é apenas uma questão de tempo. Muito fácil no meu caso:
fonte
Também consegui atrapalhar meu arquivo .bashrc em um novo cluster ao qual tive acesso experimental. Não querendo parecer um noob, a última coisa que eu queria fazer era pedir ajuda aos administradores, e eu não conseguia obter um ^ + C oportuno para o trabalho.
O que funcionou, no entanto, foi enviar um comando 'rm' como argumento final para o ssh. ie
Não consegui que um comando 'mv' funcionasse (tentei antes sem -t), então acho que a opção -t deve ter feito isso, mas você pode testá-lo se quiser. Agora eu recuperei do arquivo .bashrc ~ (criado pelo vim) tudo, menos a linha desonesta em questão e tudo está certo no mundo! = D
fonte
ssh -tv user@home mv .bashrc .bashrc-old
funcionou para mimSe você pode fazer login como um usuário diferente, tente o seguinte:
Você precisará da sua senha, é claro.
fonte
ksh
oucsh
Se eu me lembro de algumas experiências ruins que tive assim, o ssh, scp, sftp parecem executar os arquivos de inicialização.
Minha sugestão é usar o FTP simples e, em seguida, excluir ou renomear o arquivo inválido na linha de comando do FTP após o login. Estou assumindo que o seu sistema permitirá o acesso ao FTP. Nesse caso, certifique-se de alterar sua senha (com segurança) quando concluir o reparo.
fonte
De
man ssh
(OpenSSH_5.6p1
pelo menos, não tenho certeza de quando foi adicionado),..que significa que você pode criar
~/.ssh/rc
contendo o seguinte:Então, quando você
ssh
entrar, o problemático bashrc será movido antes que seu shell de login seja iniciado - você poderá, obviamente, consertarbak.bashrc
e movê-lo de volta ao lugarfonte
Conecte-se via SCP ou SFTP e edite / renomeie / exclua seu arquivo .bashrc dessa maneira. Edit - D'oh, vejo que você disse que tentou isso. Ah bem.
fonte
Eu tive o mesmo problema e, de alguma forma, consegui resolvê-lo. Usei o ssh para acessar o sistema e pressionei e segurei Ctrl + c assim que entrei no sistema. Então, ~ / .bashrc não foi lido e eu pude modificá-lo.
fonte
Eu encontrei isso funcionando.
Interrompa o carregador de inicialização do grub pressionando e ... novamente pressione e para entrar nas linhas de carregamento do grub, novamente pressione e para editar a linha do kernel,
vá para o fim da linha;
adicione init = / bin / bash no final da linha,
digite para retornar, b para inicializar,
ele abrirá um shell bash, abra o vim /root/.bashrc e edite-o de acordo. sair e agora você poderá entrar
fonte
Se você estiver usando o Homestead Vagrant ...
Aqui está como me saí dessa picles.
(Usando o Git Bash no Windows 10)
Nota: a senha padrão é "vagrant"
Esses artigos me ajudaram a:
fonte
Algumas sugestões que funcionaram para mim neste tópico do Reddit :
fonte