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
このページ のおかげで、bashシェルからWindowsのclip.exe(および「.exe」を入力する必要があります)を指摘できます。
これは 答えが良すぎる ここに投稿しないことでした。 Gilles 、askubuntuの仲間のユーザーからのものです:
クリップボードは Xサーバー によって提供されます。サーバーがヘッドレスであるかどうかは関係ありません。重要なのは、ローカルグラフィカルセッションがリモートマシンで実行されているプログラムで利用できることです。 Xのネットワーク透過設計のおかげで、これは可能です。
Linuxを実行しているマシンからSSHでリモートサーバーに接続していると仮定します。クライアント構成とサーバー構成の両方でX11転送が有効になっていることを確認してください。クライアント構成では、
ForwardX11 yes
に~/.ssh/config
という行をデフォルトで有効にするか、そのセッションのためだけにssh
コマンドに-X
オプションを渡す必要があります。 。サーバー構成では、X11Forwarding yes
に/etc/ssh/sshd_config
という行が必要です(Ubuntuにはデフォルトで存在します)。X11転送が有効になっているかどうかを確認するには、
DISPLAY
環境変数の値を確認します:echo $DISPLAY
。localhost:10
のような値が表示されるはずです(リモートマシンで実行されているアプリケーションは、同じマシンで実行されているディスプレイに接続するように指示されますが、そのディスプレイ接続は実際にはSSHによってクライアント側ディスプレイに転送されます)。DISPLAY
が設定されていない場合、手動で設定しても意味がありません。転送が設定されている場合、環境変数は常に正しく設定されます。 SSH接続の問題を診断する必要がある場合は、オプション-vvv
をssh
に渡して、何が起こっているかの詳細なトレースを取得します。他の方法で接続している場合、X11転送を実現できる場合とできない場合があります。クライアントがWindowsを実行している場合、 PuTTY はX11転送をサポートします。 Xming などのWindowsマシンでXサーバーを実行する必要があります。
ByGillesaskubuntuから
リモートホストでxclipを使用しようとしている場合は、sshコマンドに-Xを追加するだけです
ssh user@Host -X
より詳細な情報はここにあります: https://askubuntu.com/a/305681
これを試してみてください、それは魅力のように動作します。私は同じエラーを抱えていましたが、このアプローチは私のためにトリックをしました:
ssh USER@REMOTE "cat file"|xclip -i
リンクしたドキュメントを読んでください。それは全くばかげている! xclip
は単なるクリップボードです。キーをコピーして貼り付ける方法は他にもあります...(きっと)
グラフィカルXセッション内から作業していない場合は、$DISPLAY
環境変数をコマンドに渡す必要があります。次のように実行します。
DISPLAY=:0 xclip -sel clip < ~/.ssh/id_rsa.pub
もちろん、:0
は使用しているディスプレイによって異なります。一般的なデスクトップマシンを使用している場合は、:0
である可能性があります
以下も私のために働いています:
ssh <user>@<Host> "cat <filepath>"|pbcopy
ユーザーrootでこのコマンドを追加します:ssh user_to_acces @ hostName -X
user_to_acces =ユーザーhostName =ホスト名マシン