我正在关注生成SSH密钥,它说
sudo apt-get install xclip
下载并安装 xclip。如果您没有apt-get
,则可能需要使用其他安装程序(如yum
)
xclip -sel clip < ~/.ssh/id_rsa.pub
将 id_rsa.pub 文件的内容复制到剪贴板
但是在我跑xclip -sel clip < ~/.ssh/id_rsa.pub
之后,我得到了Error: Can't open display: (null)
问题出在哪里?我用谷歌搜索了一下,但一无所获
DISPLAY=:0 xclip -sel clip < ~/.ssh/id_rsa.pub
对我不起作用(ubuntu 14.04
),但您可以使用:
cat ~/.ssh/id_rsa.pub
获取公钥
根据这个问题的日期,最初的海报不会使用Linux的Windows子系统。但是,如果您是,并且遇到相同的错误,则以下替代方法有效:
clip.exe < ~/.ssh/id_rsa.pub
感谢此页面指出Windows的剪辑.exe(您必须键入".exe")可以从bash shell运行。
这是一个太好的答案,不能在这里发布。这是来自Gilles,一个askubuntu研究员:
剪贴板由 X 提供服务器。这不重要无论服务器是否无头,重要的是您的本地服务器图形会话可用于远程上运行的程序机器。由于X的网络透明设计,这是可能的。
我假设您正在使用 SSH 从运行 Linux 的机器。确保同时启用了 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,油灰支持 X11 转发;你必须在Windows上运行X服务器。机器如Xming。
作者:Gilles from askubuntu
如果您尝试在远程主机上使用 xclip,只需将 -X 添加到您的 ssh 命令中即可
ssh user@host -X
更详细的信息可以在这里找到:https://askubuntu.com/a/305681
以下内容也对我有用:
ssh <user>@<host> "cat <filepath>"|pbcopy
试试这个,它会像一个魅力一样工作。我遇到了同样的错误,但这种方法为我提供了诀窍:
ssh USER@REMOTE "cat file"|xclip -i
已阅读您链接的文档。这完全是愚蠢的! xclip
只是一个剪贴板。您将找到其他复制粘贴密钥的方法...(我确定)
如果您不是在图形 X 会话中工作,则需要将$DISPLAY
环境 var 传递给命令。像这样运行它:
DISPLAY=:0 xclip -sel clip < ~/.ssh/id_rsa.pub
当然:0
取决于您使用的显示器。如果您有一台典型的台式机,则很可能是:0
由用户 root 添加此命令:ssh user_to_acces@hostName -X
user_to_acces = 用户主机名 = 主机名计算机