使用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
鹦鹉螺窗口略有变化。
先决条件:
- 登录服务器。
- 将您的公钥添加到
~/.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
文件的路径。