2011-06-20 97 views
6

我仔細地按照指示here但是我沒有得到這個工作的權利。下面是我做的:WinSCP連接到Amazon AMI EC2實例在登錄到「root」後更改用戶

  1. 運行WinSCP賦予輸入主機名(我的實例的彈性IP)
  2. 輸入用戶名「EC2用戶」
  3. 進入公共密鑰文件
  4. 選擇SCP的協議
  5. 在SCP/Shell設置我選擇了 「須藤蘇 - 」
  6. 命中登錄
  7. 的WinSCP問我要密碼鍵,點擊OK
  8. 顯示此錯誤

跳過啓動消息的錯誤。您的 外殼可能與 應用程序(建議使用BASH)不兼容。

注意:這適用於膩子

+0

嗨艾凡。 http://superuser.com可能會更好。 –

+0

這可能有助於更詳細地瞭解發生了什麼問題。 WinSCP可以生成日誌:http://winscp.net/eng/docs/logging – Peter

+0

我有同樣的問題你找到了解決方案,我沒有得到下面的一個謝謝 – ReThink

回答

1

的WinSCP不支持需要終端仿真或用戶輸入的命令。

參見:http://winscp.net/eng/docs/remote_command#limitations

由於sudo su -需要一個密碼,這是行不通的。

有一種解決方法:使root登錄而不提示輸入密碼。您可以通過編輯您的sudoers文件通常位於/etc/sudoers並加入做到這一點:

root ALL=NOPASSWD: ALL 

不用說,這是不是一個很好的事情 - 對於這應該是顯而易見的:)

+0

有沒有通過WinSCP以非root用戶身份登錄的方法? – powtac

+0

有關用於WinSCP的無密碼'sudo'設置的更多詳細說明,請參閱http://winscp.net/eng/docs/faq_su –

+1

我以爲'su -'需要密碼,但不需要'sudo su -'? OP表示他使用公鑰認證,因此不涉及密碼。這個技巧似乎是通過評論Defaults requiretty來讓sudoers在沒有TTY設備的情況下開心。更多細節在我的答案中。 –

-2

原因下SCP/Shell設置,而不是「sudo su - 」,選擇/ bin/bash。

它應該工作。

+0

'/ bin/bash'讓你登錄,但重點是獲得sudo權限。 –

2

我遇到了同樣的問題,並使用本教程中的步驟解決了這個問題。我會在這裏發佈它,但我沒有足夠的代表圖像/屏幕。

http://cvlive.blogspot.de/2014/03/how-to-login-in-as-ssh-root-user-from.html

+0

不幸的是,這並沒有爲我工作。但是一旦我在sudoers中註釋了'Defaults requiretty',我就可以連接 - 即使選中了「嘗試」鍵盤交互式「身份驗證」。 –

8

以信譽this postthis AWS forum thread,看來關鍵是要在sudoers中 註釋掉Defaults requiretty。我現在的程序:

  1. 使用Putty登錄到您的EC2實例。
  2. 運行sudo visudo,一個編輯/ etc/sudoers的特殊命令。
  3. 按Insert鍵啓動插入模式。
  4. 找到線Defaults requiretty。在該行之前插入一個散列符號(#)以將其註釋掉:
    #Defaults requiretty
  5. 按Esc鍵退出插入模式。
  6. 類型:wq寫入文件並退出visudo

在的WinSCP:

  1. 在高級>環境> SCP /殼,殼更改爲sudo su -
  2. 在SSH>身份驗證中,選擇您的私鑰文件(.ppk文件)。
+1

爲我完美工作 – jade