可以通过ssh使用sudo进行编辑的文本编辑器?

可以通过ssh使用sudo进行编辑的文本编辑器?,ssh,amazon-ec2,remote-access,sudo,remote-server,Ssh,Amazon Ec2,Remote Access,Sudo,Remote Server,我正在尝试编辑远程AmazonEC2Linux实例上的文件。我目前正在使用nano,但我非常想要一个图形文本编辑器。我有两个问题: 我必须使用sudo在ssh中编辑这些服务器文件 我只能用亚马逊给我的密钥登录。例如:ssh-i Andrew.pem ec2-user@55.55.44.33 请帮忙!我不挑剔,只是任何图形文本编辑器,因为使用nano是一个巨大的痛苦 我真的想要一个图形文本编辑器 您不能使用图形编辑器,您需要使用任何编辑器,如您所说的nano或vim、emacs。当您必须以root

我正在尝试编辑远程AmazonEC2Linux实例上的文件。我目前正在使用nano,但我非常想要一个图形文本编辑器。我有两个问题:

  • 我必须使用sudo在ssh中编辑这些服务器文件
  • 我只能用亚马逊给我的密钥登录。例如:ssh-i Andrew.pem ec2-user@55.55.44.33
  • 请帮忙!我不挑剔,只是任何图形文本编辑器,因为使用nano是一个巨大的痛苦

    我真的想要一个图形文本编辑器


    您不能使用图形编辑器,您需要使用任何编辑器,如您所说的nano或vim、emacs。当您必须以root作为所有者编辑配置文件时,需要Sudo。

    Sudo是该特定命令的root权限。您需要使用root权限来编辑系统文件。甚至在本地机器上。如果您不喜欢每次都键入
    sudo
    ,可以键入
    sudo-s
    。您将更改为root用户,它将在终端中显示您,即。root@ip.... $符号也将更改为#。老实说,我不喜欢使用root,因为使用root权限更容易犯不可逆转的错误。我犯了一些错误,我是根据经验说的

    至于问题的第二部分,您可以将各种文本编辑器配置为sftp到您的实例中,例如

    每次使用终端ssh时,都必须使用.pem密钥文件。这是因为AWS非常重视安全性。您可以将密钥文件放在主目录中。这样,您就不必每次打开终端时都更改目录

    您还可以编辑文件的本地副本,然后使用FileZilla进行传输。使用FileZilla处理EC2实例非常简单。您可以尝试一下vim,因为它为您的代码着色,并且比nano更高级。从终端使用命令
    vi
    vim

    宋承英快乐


    您必须对转发进行适当的设置。

    我使用SFTP网络驱动器SFTP,它允许您在本地计算机上创建一个虚拟驱动器,该虚拟驱动器将映射可通过SFTP协议访问的远程文件系统。创建地图后,可以使用首选项编辑器

    只需在本地计算机上修改适当的文件,然后将文件导入远程计算机

    scp <local_machine_path_to_file> remoteUser@remoteHostName:<filePath>
    
    scpremoteUser@remoteHostName:
    
    为此,我建议:

  • 学习和使用emacs;就textmode编辑器而言,它相当强大

  • 在服务器上安装您喜爱的图形编辑器,并使用X转发“ssh-xserver.com”。这将允许您远程启动编辑器,但让它在本地显示

  • 在我看来,最优雅的方法是使用sshfs()在本地挂载远程目录,这样您就可以使用您最喜欢的文本编辑器直接处理这些文件


  • 您可以使用nano、vim、vi或许多其他工具。但是,如果您想使用图形文本编辑器进行编辑,则必须创建SFTP,因为Amazon不支持FTP。一种方法是使用filezilla上传文件。下面是一个关于使用filezilla的视频,我建议使用SSH。这是一个快速而简单的视频,用于远程编辑,这里有很多选项:这个答案和其他答案一样,随着更多选项进入该字段,肯定会过时

    • 对于
      vim
      ,满足这一需要,并且默认情况下随编辑器一起提供
    • 对于
      emacs
      ,此选项可从中获得
    • 有关ATOM编辑器,请参见
    • 对于IntelliJ,在商业版中受支持
    • 对于Eclipse,请参阅中的
    我建议从你喜欢的编辑器开始,从那里评估选项。如果您将SSH会话设置为能够直接向root用户进行身份验证(root用户最好禁用密码身份验证,但如果您有sudo,则可以安装RSA密钥),那么您就可以将root用户指定为上述任何一项的目标用户


    相比之下,如果您确实需要
    sudo
    ,您仍然可以选择:

    • 请参见Emacs wiki上的。新版本还支持
      ssh+sudo
      传输,这意味着这个wiki条目可能已经过时了

    我在AWS上找到了一个奇怪的基于GUI的文本编辑器解决方案,我使用了Jupyter笔记本。如果实例上安装了Anaconda,请执行以下步骤

    • 使用
      ssh-i@
    • 在您的实例上使用
      jupyter笔记本--无浏览器--port=8888启动jupyter笔记本
    • 打开一个新的终端窗口,使用ssh-i-l8212:localhost:8888@
    • 现在您可以在
      localhost:8212

    使用jupyter笔记本环境,您不仅可以启动和运行Ipython笔记本,还可以像文本编辑器一样创建和编辑任何文件。

    amazon现在获得Cloud9,这是一个基于浏览器的IDE,可以编辑EC2


    要帮助那些只需要快速命令行文本编辑器的人:

    您可以使用vi

    vi file-name.txt
    
    nano file-name.txt
    
    nano

    vi file-name.txt
    
    nano file-name.txt
    
    如果编辑文件,可以选择使用sudo,例如:

    sudo nano file-name.txt
    

    既然@bluefeet不允许我在这里发帖,请参阅以获取答案。Emacs和vim都有这方面的插件。例如,请参阅,Emacs模块……或vim满足这一需求。使用gvim版本,就有了图形编辑器。