「ssh」タグアーカイブ

scp でなく rsync を使う


scp でファイルをサーバにコピーしようとしたときに、 ある特定のディレクトリ(キャッシュなど)を除外してコピーしようと思った時にやった方法です。 AWS EC2 に対して行いました。 ひとつの git リポジトリ にサーバサイドのコードを全部まとめて入れているので、 部分的にサーバにコピーしたかったんです。

続きを読む scp でなく rsync を使う

Gradle: 自動デプロイ


私が Gradle を使って Spring Boot の自動デプロイを実現した方法です。 自動というのは リポジトリのフックなどではなく、 自動テストの後のデプロイでもなく、 コマンドでデプロイする方法を指しています。

続きを読む Gradle: 自動デプロイ

OpenShift: ssh で ログイン する方法


OpenShift へ ssh でログインする方法です。

試した環境

  • OS: Ubuntu
  • rhc 1.38.4
  • Openshift Gear: 1 small

事前準備

OpenShift の Webコンソール から、 ssh で使用する鍵を登録しておきます。

ログインする方法

rhc を使う

OpenShift のアプリケーション名を rhc ssh の後につけます。 たとえば OpenShift のドメインが app-domain.rhcloud.com となっているなら rhc ssh app となります。

認証トークンをローカルマシンに保存していない場合、接続時にパスワードを求められます。 認証トークンは rhc setup で作成することができます。

ssh を使う

rhc を経由せずに ssh を使う方法です。

OpenShift の Webコンソール 右下に表示されている ssh コマンド を実行します。 または、 rhc apps を実行すると ssh の欄に AAAAAABBBBBCCCCCCDDDDDD@app-domain.rhcloud.com という文字列が表示されるので、 それを ssh の後につけてコマンドを実行します。

パスワードの入力などは必要ありません。


ssh 鍵のパスフレーズを忘れたら


ssh で鍵のパスフレーズを忘れること、ありませんか? 私は過去に2回ほどあります。 設定したパスフレーズではなぜか使えなかったり、パスフレーズをどこに控えたかを忘れてしまったり。 そんなときに、とても時間がかかりますがブルートフォースでパスワードを当てる方法があります。

続きを読む ssh 鍵のパスフレーズを忘れたら

リモートのファイルをローカルで直接編集する方法


私が開発サーバ内のファイルをローカルマシンで簡単に編集・保存できるようにした方法を紹介します。 ついでにそれ以外の方法も紹介します。

経緯

私の転職した会社では、開発サーバの中で開発を行うというスタイルでした。 黒い画面の Unix系 サーバ、 エディタは vim しかない、外部に接続できないからツールがほしければ WinSCP でコピー。

ローカルマシンで開発環境を構築するにも、いろんなチームが開発した多様なライブラリがないと動かないようになっていたため、ローカルマシンの環境を構築するのは困難な状況でした。 ファイアウォールの接続制限なんかもあって。

そこで思い付いたのが、ローカルマシンからリモートのファイルを直接編集することでした。 ローカルマシンなら外部に接続できるから、ローカルのリッチなエディタでやっていこうと。

ここからは、リモートのファイルを(擬似的に)直接編集できるエディタを紹介していきます。

インストールすれば編集可能になるエディタ

まずは、インストールさえすれば編集可能になるエディタを紹介します。 プラグインなどの追加インストールは不要です。

NetBeans

IDE なら簡単にできるんじゃないかと思って トライしてみたのが NetBeans です。実際のところ、とても簡単に思い通りのことができました。

保存時に自動でリモートマシンに保存してくれます。シンタックスチェックもやってくれます。

既存のリモートマシンのファイルを元にプロジェクトを作成して進めていくこともできますし、新たにプロジェクトを作ってそこからリモートマシンにアップロードすることもできます。

やりかたは、 NetBeans のページで紹介されていますので、そちらをご覧ください。

参考: NetBeans IDEを使用するリモートWebサーバーへのPHPアプリケーションのデプロイ

Komodo Edit

Edit, Preference と進むと、 リモートサーバの設定があります。 そちらから設定することで リモートファイル の編集が可能になります。

参考: Komodo Editをとりあえず使ってみるための基本的な設定 (リンク切れ: http://shimz.me/blog/editor/148)

gedit

設定によってできるようになります。

参考: Use Gedit as Remote File Editor via FTP and SSH (Ubuntu) (リンク切れ: http://thecodecentral.com/2010/04/02/use-gedit-as-remote-file-editor-via-ftp-and-ssh-ubuntu)

プラグインなどをインストールすることで編集可能になるエディタ

ここから下は 別途プラグインなどのインストールをすることで、リモートファイルが編集可能になるエディタです。

Eclipse

プラグインを使うと NetBeans と同じようなことができます。 プラグインは General Purpose Tool – Dynamic Languages Toolkit -Remote Development Support 。

参考: Eclipse Keplerで仮想環境上(リモート上)のファイルを編集する。

Sublime Text 2

SFTP というプラグインを使えばリモートファイルを編集できます。

参考: Sublime text SFTPをつかってリモートファイルをローカルで快適に編集

rsub というプラグインを使うことでもリモートファイルを編集できます。 ただ、サーバ側でもインストール作業が発生します。

参考: リモートサーバー上のファイルをローカルのSublime Text 2で編集する (削除されました)

Notepad++

NppFTP というプラグインを使って、リモートファイルを編集できます。

参考: Notepad++のFTPプラグイン「NppFTP」の設定方法

geany

geany はサポートしていません! ……が、 gnome だったら fuse を使えば ローカルマシンのようにリモートファイルを扱えるそうです。 これだと、 geany でなくても gnome なら どんな エディタ 使っても OK ですね。

参考: Does Geany support editing files remotely through FTP or SSH?

gVim

Windows マシン から、 PuTTY と連携して scp を使えるようにしようとしましたが、あえなく失敗。リモートマシンからファイルの一覧すら取得できませんでした。やり方を紹介しているサイトは多いのですが。

興味のある方は是非。

参考: vimからSSH/SCP接続してみる