scp
でファイルをサーバにコピーしようとしたときに、 ある特定のディレクトリ(キャッシュなど)を除外してコピーしようと思った時にやった方法です。 AWS EC2 に対して行いました。 ひとつの git リポジトリ にサーバサイドのコードを全部まとめて入れているので、 部分的にサーバにコピーしたかったんです。
「ssh」タグアーカイブ
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 のページで紹介されていますので、そちらをご覧ください。
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 。
Sublime Text 2
SFTP というプラグインを使えばリモートファイルを編集できます。
参考: Sublime text SFTPをつかってリモートファイルをローカルで快適に編集
rsub というプラグインを使うことでもリモートファイルを編集できます。 ただ、サーバ側でもインストール作業が発生します。
参考: リモートサーバー上のファイルをローカルのSublime Text 2で編集する (削除されました)
Notepad++
NppFTP というプラグインを使って、リモートファイルを編集できます。
geany
geany はサポートしていません! ……が、 gnome だったら fuse を使えば ローカルマシンのようにリモートファイルを扱えるそうです。 これだと、 geany でなくても gnome なら どんな エディタ 使っても OK ですね。
参考: Does Geany support editing files remotely through FTP or SSH?
gVim
Windows マシン から、 PuTTY と連携して scp を使えるようにしようとしましたが、あえなく失敗。リモートマシンからファイルの一覧すら取得できませんでした。やり方を紹介しているサイトは多いのですが。
興味のある方は是非。