登录到"root"后,WinSCP连接到Amazon AMI EC2实例更改用户

Aiv*_*ler 9 sudo putty scp winscp amazon-ec2

我仔细按照这里的说明操作,但是我没有正确使用.这是我做的:

  1. 运行WinSCP输入主机名(我的实例的弹性IP)
  2. 输入用户名"ec2-user"
  3. 输入公钥文件
  4. 选择SCP作为协议
  5. 在SCP/Shell设置下,我选择了"sudo su - "
  6. 点击登录
  7. WinSCP要求我输入密码短语,点击OK
  8. 显示此错误

跳过启动消息时出错.您的shell可能与应用程序不兼容(建议使用BASH).

注意:这适用于Putty

Mar*_*rry 9

有了这篇文章这个AWS论坛帖子的信用,似乎诀窍是Defaults requiretty在sudoers中评论.我现在的程序:

  1. 使用Putty登录EC2实例.
  2. 运行sudo visudo,编辑/ etc/sudoers的特殊命令.
  3. 按Insert键开始插入模式.
  4. 找到这条线Defaults requiretty.#在该行之前插入哈希符号()以将其注释掉:
    #Defaults requiretty
  5. 按Esc键退出插入模式.
  6. 键入:wq以写入文件并退出visudo.

在WinSCP中:

  1. 在高级>环境> SCP/Shell下,将Shell更改为sudo su -.
  2. 在SSH>身份验证下,选择您的私钥文件(.ppk文件).


Jay*_*dri 2

WinSCP 不支持需要终端仿真或用户输入的命令。

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

由于sudo su -需要密码,因此它不起作用。

有一种解决方法:root登录时不提示输入密码。您可以通过编辑通常位于以下位置的 sudoers 文件/etc/sudoers并添加:

root ALL=NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

不用说,这不是一件好事 - 原因应该是显而易见的:)