質問: 元のシェルが「壊れている」場合は、別のシェルでログインします 私はなんとか壊滅的に愚かで新人レベル以下の何かをすることができました。freebsd vpsにクリーンインストールしてから、バージョン9.1(9から)にアップグレードします。いくつかの異常な理由で、最初にscreenをインストールするのではなく、pkgを介してbashをインストールしました。次に、両方のユーザーのシェルを変更しました[〜#〜] and [〜#〜] root。両方のアカウントで再度ログインしようとすると、2つのアカウントしかないため、google-fuが回答を取得できなかったという奇妙なエラーが発生します。パスワードとを入力した後、「/ usr/local/bin/bash:undefined symbol "_threadrunelocale"%」が表示されます。サーバーから起動します。コンソールから同じことをしてみました。私は自分のアカウントと自分のroot、天才から自分自身をロックアウトすることができたので、別のシェルでログインする方法があるのだろうかと思っていますが、この問題を回避しています。ssh @ -i/bin/sh ..を試してもうまくいかない場合は、まったく同じエラーが発生します。tia
回答: sshは、ログイン後に常に構成済みのシェルを使用し、それを使用して要求したプログラムを開始します。必要なのは、開始する別のサブシステムです。デフォルトではsshとsftpがあり、/etc/ssh/sshd_configに独自のものを追加してみることができます。subsystem binsh /bin/sh (sftpを使用して/etc/ssh/sshd_configをダウンロードし、変更し、再度アップロードし、何らかの方法でマシンを再起動することにより)次に、ssh -s -l <account> <machine> binsh 注:テストされていません。つまり、壊れた場合は、ピースを保持することができます。