コマンド:端末から実行する必要があります


9

共有ホスティングアカウントを持っています。sshを使用してログインしました。たとえばsu、入力すると次の出力が表示されました。 su: must be run from a terminal

このエラーは、十分な権限がないという事実や他の何かに関連していますか?


通常、そのエラーは接続にTTYが割り当てられていないことを示していると思いますが、SSH経由で接続してシェルを取得している場合は、あまり意味がありません。ssh -F /dev/null user@hostローカルシステムから始めて、そのエラーを取得するために実行する正確な手順を共有できますか?(これ-F /dev/nullにより、システムまたはユーザーのローカルSSH構成が無視されます。)を使用する権限がない場合はsu、通常、より明確なエラーメッセージが表示されます(正確な表現を思い出せないため、私がそれを試すことができる場所にセットアップされたシステム)。
CVn

1
おそらくsecuretty(5)への接続はありますか?言い換えると、/ etc / securettyにリストされているsshセッションのttyですか?(先頭に/ dev /)
D McKeon

たとえばsu、他のコマンドでこのエラーが発生しますか?
ctrl-alt-delor 2013

コマンドは何をtty示していますか?sshでログインしてから入力しsuていssh suますか、それとも実行していますか?どのターミナルエミュレータを使用していますか?rootアクセスが必要ですか?
Gilles 'SO-悪をやめる'

すべての質問に答えるためにしよう:私はsshでログインする(ssh -l login@host hostタイプよりも、このコマンドを使用する場合にのみ、私は、ログインすることができます)su私が入力したときに、(他のコマンドが正常に動作します)tty私が持っています:not a tty
4m1nh4j1 2013

回答:


4

-tssh のオプションを試してください。それがうまくいかない場合は、試してください-tt

-t 疑似tty割り当てを強制します。これは、リモートサービスマシン上で任意の画面ベースのプログラムを実行するために使用できます。これは、たとえばメニューサービスの実装時に非常に役立ちます。-tsshにローカルttyがない場合でも、複数のオプションによりttyの割り当てが強制されます。


私はssh -tl root@host hostダブルtで試しましたが、同じ結果が得られました。Ps:ドキュメントに記載されているように、sshでログインするには、次のようなコマンドを使用する必要がありますssh -l login@host host
4m1nh4j1 2013

なぜrootとしてログインするのですか?そして、あなたは必要ありません-l
ctrl-alt-delor 2013

私が使用しています-l、私はそれを追加することなく、私がログインできないことがわかったので。これは、ドキュメントdtcsupport.gplhost.com/UserDoc/FRHow-Works-clientSSH-Systemで確認できます(私が見つけた唯一のページはフランス語です)。-lsshを使用しない場合は、パスワードを受け入れないでください。
4m1nh4j1 2013

rootログインとして「」を使用root@hostしてsshアカウントを作成したので、ssh に使用します
4m1nh4j1

有害と見なされるrootとしてログイン:セキュリティに関心のあるほとんどの人はrootログインを無効にします。ログインすると、ルート権限を取得できます(をお勧めしますsudo)。パスワード認証も無効にして、キーベースの認証を強制する場合は、ルートに到達するためにキーとパスワードが必要になります。
ctrl-alt-delor 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.