如何在使用公钥身份验证通过SSH访问远程主机只有时使用本地Emacs编辑远程主机上的文件?流浪汉处理正常的密码登录相当不错,但我无法弄清楚如何让它与密钥对一起工作。我在两端使用unix/linux。使用公钥认证编辑Emacs的远程文件
回答
没有相当于ssh [email protected] -i private-key.pem
的TRAMP。但是,如果运行shell命令ssh-add private-key.pem
,则ssh(并因此TRAMP)将自动使用private-key.pem
进行身份验证。只需ssh [email protected]
将在shell上工作,并打开文件/[email protected]:~/filename.txt
将工作在emacs,没有它提示输入密码。
如果您使用'〜/ .ssh/config'文件来管理您的密钥,请参阅[@Sebastien](http://stackoverflow.com/a/10738277/881224)的答案。 – Droogans 2014-05-23 21:56:43
如果你在Windows上,你可以很容易地使用plink和tramp。您必须确保plink二进制文件位于您的路径中,并且必须将变量(M-x自定义选项)tramp-default-method自定义为与链接器相结合的plink,它将为您提供所需的内容。
我让你阅读腻子主页如何配置选美添加你的钥匙。
有方法plinkx以及其使用的配置文件名称,这样当你做一个:
C-x C-f /putty_profile:
它会从你的腻子保存配置文件名putty_profile。
如果你正在使用Linux,通常现代发行版应该有一个全局SSH代理启动X的gnome keyring(命名为seamaorse)。例如在我的Debian的发行版:
[email protected]:~$ ps aux|grep ssh-agent
chmouel 2917 0.0 0.0 4904 552 ? Ss Aug30 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/seahorse-agent --execute x-session-manager
,如果你做的ssh-ADD(确保你有身份在你的〜/ .ssh正确配置)应请求您的密码并确定所有的X会话。
如果没有发生,您的发行版中可能有其他问题。
我不明白你的问题,因为Tramp可以很好地处理公钥认证的SSH连接。 举例来说,假设你已经在~/.ssh/config
设置以下配置:
Host remotehost
User mylogin
Port 22
Hostname remotehost.fqdn
,并假设你可以在终端正常运行ssh remotehost
,那么你就可以打开使用TRAMP CX比照/remotehost:path/to/file
这是一个很好的答案,只需添加'IdentityFile〜/ .ssh/identity-file' – Alex 2015-05-04 16:26:18
- 1. Emacs tramp在Linux上编辑Windows上的远程文件
- 2. 远程编辑excel文件
- 3. 从ssh会话中使用emacs tramp创建远程文件的编辑
- 4. 如何使用.crt文件进行SSH公钥认证
- 5. Windows Emacs:从远程UNIX机器复制/编辑文件?
- 6. 使用emacs进行远程编译时的默认shell环境
- 7. apache sshd公钥认证
- 8. 如何用ruby编辑远程文件?
- 9. SSH公钥验证文件
- 10. 使用emacs通过远程网关编辑代码
- 11. Emacs文件编辑历史
- 12. ssh私钥/公钥认证示例
- 13. 从认证中提取公用密钥
- 14. ubuntu 14.04公钥认证不起作用
- 15. 远程编辑Google文档
- 16. 可以让Netbean编辑远程文件
- 17. 如何编辑远程文件?
- 18. Php Storm远程文件编辑
- 19. 使用Python远程编辑Windows Server 2012上的文件
- 20. 使用远程jwt认证的Django REST
- 21. 使用Emacs编辑Google文档?
- 22. 使用Emacs编辑Googleplus文章
- 23. 使用自定义CA公钥文件验证证书?
- 24. 与paramiko缓慢的公钥认证
- 25. cygwin上的公钥认证问题
- 26. 编辑GVFS使用Emacs
- 27. 使用与Emacs编辑器
- 28. 使用JavaScript使用CA .cer文件进行公钥验证
- 29. 如何在terminal.app下编辑文件来启动碳emacs(作为编辑器而不是默认的emacs)?
- 30. 如何使用GVIM编辑远程文件?
远程文件我使用公钥认证的TRAMP。你能详细解释一下有什么问题(以及你使用的是什么版本的Emacs)? 我觉得TRAMP几乎只是调用SSH,所以我首先要确保“ssh yourname @ yourhost”按照预期的方式使用公共密钥登录。 – Phil 2009-08-30 07:54:13
谢谢,您的查询指引我走向正确的轨道,并解决了问题(学会更好地使用SSH)。不过,我仍然想知道如何在SSH标识文件位于非标准位置时使用Tramp,因此您需要使用SSH的'-i'命令行选项。 – pico 2009-08-30 09:45:41
您可以使用ssh-add添加身份文件。 – remvee 2009-08-30 12:39:33