Saya meletakkan "keluar" di file .bashrc saya. Saya tidak memiliki akses fisik ke mesin, jadi untuk menghubungkannya saya menggunakan ssh. Saya tidak memiliki hak akses root. Setiap kali saya terhubung ke server, koneksi secara otomatis ditutup.
Sejauh ini, saya sudah mencoba:
- Timpa .bashrc dengan scp dan sftp. Koneksi ditutup sebelum saya dapat melakukan apa saja.
- Menggunakan beberapa program GUI yang berbeda untuk mengakses ssh (koneksi ditutup)
- Menimpa file dengan ftp. (tidak dapat menggunakan ftp)
- Dari komputer rumah saya
- Tuan rumah $ ssh "bash --noprofile --norc" (koneksi ditutup)
- $ ssh host "mv .bashrc bashrc_temp" (koneksi ditutup)
- Tuan rumah $ ssh "rm .bashrc" (hal yang sama)
- $ ssh host -t (koneksi ditutup)
Apakah ada yang bisa saya lakukan untuk menonaktifkan .bashrc atau mungkin menimpa file sebelum .bashrc bersumber?
MEMPERBARUI
@ ring0
Saya mencoba saran Anda, tetapi tidak berhasil. File bashrc masih berjalan terlebih dahulu.
Hal lain yang saya coba adalah masuk dengan akun lain dan sudo mengedit .bashrc, tetapi saya tidak memiliki hak sudo pada akun ini.
Saya kira saya akan menghubungi admin.
EDIT
@shellholic
Saya tidak percaya, tapi pendekatan ini berhasil! Meskipun "keluar" terjadi dalam beberapa baris pertama (hanya terdiri dari beberapa blok jika dan pernyataan ekspor ) dalam file .bashrc, saya masih berhasil Ctrl-c menyela dengan sukses dalam dua puluh percobaan (butuh sekitar 3 menit). Saya menghapus baris yang menyinggung di .bashrc dan semuanya dalam keadaan berfungsi lagi.
man 8 sshd
mengatakan itu9. Runs user's shell or command.
sebagai langkah kesembilan ...: - /Jawaban:
Anda dapat mencoba untuk membatalkan (ctrl + C) sebelum bagian keluar dari Anda
.bashrc
dieksekusi.Saya mencoba dengan menambahkan berikut ini di bagian atas bashrc testuser, itu berfungsi, itu hanya masalah waktu. Sangat mudah dalam kasus saya:
sumber
Saya berhasil mengacaukan file .bashrc saya juga di kluster baru yang telah saya akses uji coba. Tidak ingin terlihat seperti noob, hal terakhir yang ingin saya lakukan adalah meminta bantuan dari admin, dan saya tidak bisa mendapatkan ^ + C yang tepat waktu untuk bekerja.
Namun apa yang berhasil, adalah mengirim perintah 'rm' sebagai argumen terakhir ke ssh. yaitu
Saya tidak bisa mendapatkan perintah 'mv' untuk bekerja (dicoba sebelumnya tanpa -t), jadi saya pikir opsi -t harus melakukannya, tetapi Anda dapat mengujinya jika Anda mau. Saya sekarang telah pulih dari .bashrc ~ file (dibuat oleh vim) semuanya kecuali garis cerdik yang dimaksud dan semuanya benar di dunia! = D
sumber
ssh -tv user@home mv .bashrc .bashrc-old
bekerja untuk sayaJika Anda dapat masuk sebagai pengguna lain, coba ini:
Anda akan membutuhkan kata sandi Anda, tentu saja.
sumber
ksh
ataucsh
Jika saya ingat beberapa pengalaman buruk yang saya alami seperti ini, ssh, scp, sftp tampaknya menjalankan file inisialisasi.
Saran saya adalah menggunakan FTP sederhana dan kemudian menghapus atau mengganti nama file file buruk pada baris perintah FTP setelah masuk. Saya berasumsi bahwa sistem Anda akan memungkinkan Anda mengakses FTP. Dalam kasus seperti itu, pastikan untuk mengganti kata sandi Anda (dengan aman) ketika Anda telah selesai melakukan perbaikan.
sumber
Dari
man ssh
(OpenSSH_5.6p1
setidaknya untuk, tidak yakin kapan itu ditambahkan),..yang berarti Anda dapat membuat yang
~/.ssh/rc
berisi berikut ini:Kemudian ketika Anda
ssh
masuk, bashrc yang bermasalah akan dipindahkan keluar jalan, sebelum shell login Anda dimulai - Anda kemudian dapat dengan jelas memperbaikibak.bashrc
dan memindahkannya kembali ke tempatnya.sumber
Terhubung melalui SCP atau SFTP dan edit / ganti nama / hapus file .bashrc Anda dengan cara itu. Sunting - Doh, saya tahu Anda bilang Anda sudah mencobanya. Baiklah.
sumber
Saya memiliki masalah yang sama, dan entah bagaimana bisa menyelesaikannya. Saya menggunakan ssh untuk mengakses sistem, dan menekan dan menahan Ctrl + c segera setelah saya masuk ke sistem. Kemudian, ~ / .bashrc tidak dibaca, dan saya dapat memodifikasinya.
sumber
Saya menemukan ini berfungsi.
Mengganggu boot loader grub dengan menekan e ... lagi tekan e untuk masuk ke baris grub loading, lagi tekan e untuk mengedit baris kernel
pergi ke akhir baris;
tambahkan init = / bin / bash di akhir baris,
masukkan untuk kembali, b untuk boot,
itu akan membuka bash shell, buka vim /root/.bashrc dan edit sesuai. keluar dan sekarang kamu akan bisa login
sumber
Jika Anda menggunakan Homestead Vagrant ...
Inilah cara saya keluar dari acar ini.
(Menggunakan Git Bash pada Windows 10)
Catatan: kata sandi default adalah "gelandangan"
Artikel-artikel ini membantu saya:
sumber
Beberapa saran yang bekerja untuk saya dari utas Reddit ini :
sumber