ラベル ssh の投稿を表示しています。 すべての投稿を表示
ラベル ssh の投稿を表示しています。 すべての投稿を表示

2018/05/06

ssh した先で GUI Application を起動する

前回の記事では IP Reachable であれば DISPLAY を設定することで GUI Application も動く、と書きました。
ssh に関して言えば、もっとスマートな解決方法があったようです。


ssh と -X -Y option

man ssh を見ると、 X11 に関するオプションがいくつかありますね。
特に X11Fowarding が yes で -X か -Y を付けると
  • The DISPLAY value set by ssh will point to the server machine.
とのこと。勝手に DISPLAY を設定してくれるっぽい。便利。

X11Fowarding option は sshd_config の方(サーバ側)の option で見たことがあります。
なるほど、ここで使うのか(というか ssh した状態で GUI 使うって発想がそもそも無かった……)。


-X option with ssh proxy

-X や -Y の方が優れている点として、ssh proxy を通していても GUI が使える点があります。
具体的には -W option を使って、
  • global IP を持っているマシンに ssh
  • そこから local IP を持っているマシンに ssh
をしている状態でも動きます。

ちなみにその時の DISPLAY の値は
  • $ ssh -Y 10.20.30.40
  • $ echo $DISPLAY
    • localhost:10.0
とか。localhost の host はどこなの状態。IP reachable とかそんなレベルじゃない。

いやまー、 22 番にアクセスしてきた socket を使ってデータを送受信している、みたいなオチだとは思う。
が、「通信が相互に疎通可能である状態ならGUIでもOK」と書いた身としては、すみません嘘つきました、という気持ち。


参考

2012/10/15

ssh:// で指定したリモートリポジトリに MercurialEclipse で push できない時にチェックする点

Eclipse に MercurialEclipse を入れて Mercurial を使っている状態で、リモートのリポジトリに push ができない状況になっていた時のチェック点。

・とりあえずチェックするポイント
「 ssh で warnings 出てない? 」


以下詳細。

・ 環境
  • Mac OS X Mountain Lion
  • Eclipse JUNO
  • Mercurial 2.2
  • MercurialEclipse  2.0.0.201208160020

・問題
MercurialEclipse で commit はできるけど、 ssh:// で指定したリモートリポジトリに push しようとすると

no suitable response from remote hg!
com.aragost.javahg.commands.ExecutionException

と出てきてリモートリポジトリに push できない。

"no suitable response from remote hg!" で調べると
  • ssh://で指定したリモートリポジトリのパスが間違ってる
  • sshした際にhgが使用できない(PATHとかの問題)
などが考えられる問題らしいけれど、ターミナル上では

$ hg clone ssh://server.com/path/to/repository
$ hg push ssh://server.com/path/to/repository

がきちんと行なえるので、どうやらリポジトリのパスやPATHの問題では無いみたい。


・原因
リモートリポジトリが置いてあるサーバへの ssh で warnings が出てた。
ssh で warnings が出てると、MercurialEclipse 側ではエラー扱いになるらしい。

今回の問題だと、証明書関係の warnings が出てたので known_hosts を修正するときちんと push できるようになった。





P.S. 某オペレーティングな方々へ
とりあえずよく分かんないけど、どーにかして、ってなったら
$ rm ~/.ssh/known_hosts
を試してみたください

2012/10/11

ssh-copy-idを使ってみる

サーバとかに ssh するたびにパスワード認証をしないといけないけれど、鍵を作っておくとパスワード認証は必要なくなるみたい。

本来、鍵を使ってsshするためにはサーバへの鍵登録が必要だけど、 ssh-copy-id コマンドを使うと楽に登録できるらしいのでやってみた。

環境 : Mac OS X Mountain Lion , homebrew インストール済み

デフォルトで ssh-copy-id は入ってないので


$ brew install ssh-copy-id

して入れる。現在のstableは6.0p1らしい。


sshしたいサーバと、そのサーバに入るためのユーザ名で

$ ssh-copy-id username@servername.com

とかすると、一度パスワードを聞かれる。
パスワードを入れると何も出ないけど、次回からパスワード無しでそのサーバにsshできるようになってる。


これでパスワード認証無しでsshできるようになった。


一応、Github用にssh-keygenとかしてたので、鍵生成はしなかった様子。
うまく共存もできてるみたいだし今のところ問題無し。
鍵生成してなかったらパスフレーズとかも聞かれるのかもしれない。