Answers:
DISPLAY=:0 xclip -sel clip < ~/.ssh/id_rsa.pub
不适用于我(ubuntu 14.04
),但您可以使用:
cat ~/.ssh/id_rsa.pub
获取您的公钥
xclip
用法不只是使用,在bash中显示SSH密钥cat ~/.ssh/id_rsa.pub
。但是,这有助于解决问题,因为您可以在显示值时复制该值。
根据这个问题的日期,最初的张贴者不会使用Linux的Windows子系统。但是,如果您遇到相同的错误,则可以使用以下替代方法:
clip.exe < ~/.ssh/id_rsa.pub
感谢此页面指出Windows的clip.exe(并且您必须键入“ .exe”)可以从bash shell运行。
cat ~/.ssh/id_rsa.pub | clip.ese
才有效
cat ~/.ssh/id_rsa.pub | clip.exe
。感谢您指出了这一点。
~/.bashrc
或~/.bash_profile
:中alias pbcopy="clip.exe"
。感谢@chriz指出管道|
工作正常。
这是一个很好的答案,不要在此处发布。是来自Gilles,askubuntu的一位用户:
剪贴板由X服务器提供。服务器是否无头无所谓,重要的是本地图形会话可用于远程计算机上运行的程序。由于X的网络透明设计,这才有可能。
我假设您正在从运行Linux的计算机上使用SSH连接到远程服务器。确保在客户端配置和服务器配置中都启用了X11转发。在客户端配置,你需要有线路
ForwardX11 yes
在~/.ssh/config
默认情况下有它,或者通过选项-X
的ssh
命令只为这届会议。在服务器配置,你需要有行X11Forwarding yes
中/etc/ssh/sshd_config
(这是默认存在在Ubuntu)。要检查是否启用X11转发,请查看
DISPLAY
环境变量的值 :echo $DISPLAY
。您应该看到一个类似的值localhost:10
(告诉远程计算机上运行的应用程序连接到同一计算机上运行的显示,但是该显示连接实际上是通过SSH转发到您的客户端显示的)。请注意,如果DISPLAY
未设置,则手动设置是没有用的:如果转发到位,则始终正确设置环境变量。如果您需要诊断SSH连接问题,通过选项-vvv
来ssh
获得所发生的事情的详细跟踪。如果通过其他方式进行连接,则可能无法实现X11转发。如果您的客户端运行的是Windows,则 PuTTY 支持X11转发;否则,请执行以下步骤。您必须在Windows计算机(例如Xming)上运行X服务器。
通过吉尔从askubuntu
阅读了已链接的文档。太傻了!xclip
只是一个剪贴板。您会发现其他复制粘贴键的方法...(我确定)
如果您不是从图形X会话内部进行工作,则需要将$DISPLAY
环境var 传递给命令。像这样运行它:
DISPLAY=:0 xclip -sel clip < ~/.ssh/id_rsa.pub
当然:0
取决于您使用的显示器。如果您有一台典型的台式机,则很可能是:0
Error: Can't open display: :0
。顺便说一句,我正在通过Git Bash访问VPS。VPS是ubuntu,本地计算机是Windows7
DISPLAY=:0 xclip
还可以清除作业中的剪贴板。就我而言,我是at
在复制两分钟后清除剪贴板。
以下内容也适用于我:
ssh <user>@<host> "cat <filepath>"|pbcopy
echo $DISPLAY
发言权?