使用Nautilus“连接到服务器”进行基于密钥的SSH登录

我通过Nautilus的“连接到服务器”function尝试登录到SSH服务器,只需将密码留空,但这不起作用。

如何使用系统上的密钥连接到服务器?

您不必在下面的字段中输入用户名,而是必须将user@到服务器地址,并将用户名和密码留空:

在此处输入图像描述

我需要使用普通的用户名 – 密码模式使用.pem key + connect连接到EC2实例。 我通过在~/.ssh/config文件中包含Host别名来解决这些要求。 例:

 Host ssh_using_key HostName abc.myawesomesite.com User ubuntu IdentityFile ~/.ssh/MyPrivateKey.pem Compression yes Host ssh_using_userpass HostName 173.193.72.103 User root Port 2222 

现在如上所述,转到Nautilus中的文件>连接到服务器。 例:

对于使用Key的SSH:

 Server = ssh_using_key (as in the ~/.ssh/config file) Type = SSH Folder = /var/www [leave User Details BLANK.] 

对于使用用户名和密码的SSH:

 Server = ssh_using_userpass (as in the ~/.ssh/config file) Port = 2222 Type = SSH Folder = /home/www User name = root Password = lamepassword Check Remember this password. 

请根据您的需要进行修改。 希望这有助于某人。

当我停止使用Unity并切换到Gnome3时,我遇到了这个问题,因为我的机器虽然远远超过了Unity的规格,但仍在我的机器上爬行。

无论如何,我首先删除了〜/ .ssh / known_hosts文件以确保它不是指纹问题。 事实并非如此,我不认为这一步是必要的。

然后我尝试了(因为我现在已经尝试了其他所有东西), 进入我的passPHRASE,它要求我输入密码 。 瞧,它看起来有效。

对于Ubuntu 14.04 LTS

鹦鹉螺窗口略有变化。

先决条件:

  1. 登录服务器。
  2. 将您的公钥添加到~/.ssh/authorized_keys

在本地计算机上打开nautilus。

使用以下URL格式登录: ssh://user@server 。 要cd到家庭补丁以外的任何其他内容,请附加斜杠。 ssh://user@server/var/www

我尝试了Sagun的方法 ,但是在16.04中连接到服务器的UI是不同的。 现在需要的命令或参数是ssh://ssh_using_key

对于那些使用key.pem的人来说,它的作用对我来说:

使用以下命令更改key.pem文件权限:

 sudo chmod 700 key.pem 

然后将其添加到〜/ .ssh / config(此文件可能不存在,如果是,则使用’cd~ / .ssh /’然后’sudo nano config’创建它):

 Host my_server HostName 111.0.0.1 User ubuntu IdentityFile /home/user/somefolder/key.pem 

111.0.0.1是您的服务器IP地址,您可以使用以下命令找到它:

 ping mysite.com 

然后尝试使用Nautilus / File’连接到服务器’:

 sftp://ubuntu@myserver/home sftp://ubuntu@myserver/var/www sftp://ubuntu@myserver/etc 

您可以在连接时更改此目录。

或者您可以使用Ubuntu内置的“Remmina远程桌面客户端”轻松实现,您可以在仪表板上找到它

谢谢。

正如Tom在其中一条评论中提到的那样,试试这个:

ssh-add path

其中path.pem文件的路径。