11

ここの指示に注意深く従いましたが、これが正しく機能していません。これが私がしたことです:

  1. WinSCP を実行し、ホスト名 (インスタンスのエラスティック IP) を入力します
  2. ユーザー名「ec2-user」を入力してください
  3. 公開鍵ファイルを入力してください
  4. プロトコルにSCPを選択
  5. SCP/Shell 設定で「sudo su -」を選択しました
  6. ヒットログイン
  7. WinSCP がパスフレーズ キーを要求するので、[OK] をクリックします。
  8. このエラーが表示されます

起動メッセージのスキップ中にエラーが発生しました。シェルはおそらくアプリケーションと互換性がありません (BASH をお勧めします)。

注:これはパテで機能します

4

6 に答える 6

2

WinSCPは、端末エミュレーションまたはユーザー入力を必要とするコマンドをサポートしていません。

参照:http ://winscp.net/eng/docs/remote_command#limitations

sudo su -パスワードが必要なため、機能しません。

これを回避する方法がありrootます。パスワードの入力を求められずにログオンします。これを行うには、通常次の場所にあるsudoersファイルを編集して追加します/etc/sudoers

root ALL=NOPASSWD: ALL

言うまでもなく、これはあまり良いことではありません-当然の理由で:)

于 2011-06-23T04:48:30.617 に答える
1

次のチュートリアルは私にとってはうまくいき、役立つスクリーンショットを提供します。sudo パーミッションを持つ通常のユーザーとしてログインするには、いくつかの WinSCP オプションを微調整する必要がありました。 http://cvlive.blogspot.de/2014/03/how-to-login-in-as-ssh-root-user-from.html

セッション/ファイル プロトコルを SCP に設定し、ホスト/インスタンスの IP、ポート (通常は 22)、および通常のユーザー名を入力します。ログインに必要な場合は、パスワード認証情報を入力します。Advanced/SSH/Authentication/Private key ファイルを追加します。

Advanced/SSH/Authentication/attempt "keyboard interactive" authentication のチェックを外すと、Advanced/Environment/SCP Shell/Shell/Shell: sudo su - 所有者以外のユーザーとして Web サーバー ディレクトリにアクセスするための sudo パーミッションを提供できるようになります。


2017 年 8 月 3 日更新

WinSCP ログは、問題のトラブルシューティングに役立ちます: https://winscp.net/eng/docs/logging

[WinSCP] 環境設定ダイアログのログページからログを有効にできます。ロギングは、/log および /xmllog パラメーターをそれぞれ使用してコマンドラインから有効にすることもできます。これは、スクリプトで特に役立ちます。.NET アセンブリでは、Session.SessionLogPath1) を使用してセッション ログを有効にします。

WinSCP 接続エラーに応じて、一部のサーバーのインストールでは、(Ubunto、CentOS、other-Linux-Server) /etc/sudoers ファイルにディレクティブを追加して、指定したユーザーに TTY を要求しないようにする必要がある場合があります。/etc/sudoers.d/ にファイルを作成する (Amazon Command Line Interface や PuTTY などのツールを使用) 方が、/etc/sudoers を編集するよりも適切なオプションになる場合があります。一部の /etc/sudoers バージョンでは推奨されています:

このファイルは、ルートとして「visudo」コマンドを使用して編集する必要があります。このファイルを直接変更するのではなく、/etc/sudoers.d/ にローカル コンテンツを追加することを検討してください。sudoers ファイルの書き方の詳細については、man ページを参照してください。

コマンドラインから sudoers ファイルを (root として) 編集する場合、「visudo」コマンドを使用してファイルを開く必要があります。これは、ファイルの構文エラーを解析するためです。/etc/sudoers.d/ ファイルは通常、root によって所有され、最小限の権限で chmod されます。デフォルトの /etc/sudoers ファイルは、インストール時に推奨される chmod パーミッションを自動的に持つ必要があるため、参照される場合があります。例: 0440 r--r----- .

https://superuser.com/a/869145 :

visudo -f /etc/sudoers.d/somefilename

Defaults:username !requiretty 

便利なリンク:

WinSCP フォーラム:

WinSCP ドキュメント: https://winscp.net/eng/docs/faq_su

SCP プロトコルを使用すると、[サイトの詳細設定] ダイアログの [SCP/シェル] ページで次のコマンドをカスタム シェルとして指定できます。

sudo-s

[...]

WinSCP は端末エミュレーションを実装できないため、sudoers オプションの requiretty をオフにする必要があることに注意してください。

Ubuntu Apache /etc/sudoers の手順では、/etc/sudoers を直接編集するのではなく、/etc/sudoers.d にディレクティブを追加することをお勧めします。インストールによっては、ディレクティブを /etc/sudoers.d/cloud-init に追加しても機能する場合があります。

インスタンスのドキュメントに記載されている手順に従って、sudo 権限を持つ SSH テスト ユーザーを作成し、ユーザーが推奨するインスタンス設定を使用していること、およびサーバーの sudoer ファイルへの更新を他のユーザーに影響を与えることなく実行および削除できることを確認すると役立つ場合があります。

于 2017-05-10T02:30:53.927 に答える