Tag Archives: ssh

Using rsync instead of scp


When trying to copy files to a server using scp, and wanting to exclude a specific directory (such as cache) during the copy process, I used the following method. This was performed for an AWS EC2 instance. Since I have all the server-side code in a single Git repository, I wanted to copy only a portion of it to the server.

Continue reading Using rsync instead of scp

Gradle: Automatic Deployment


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

Continue reading Gradle: Automatic Deployment

OpenShift: How to login with ssh


The way to login OpenShift server with ssh.

Tested Environment

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

Preparation

Register ssh public key on OpenShift Web console.

The Way to Login

Use rhc

Add OpenShift application name after rhc ssh. For example, if you use app-domain.rhcloud.com, then execute rhc ssh app.

If you have not saved authenticate token on your local machine, you will be required to input password. Authenticate token can be saved with the command rhc setup.

Use ssh

This is the way to use ssh without rhc.

Execute the ssh command on bottom right of OpenShift Web console. Or, execute rhc apps and you can find ssh item like AAAAAABBBBBCCCCCCDDDDDD@app-domain.rhcloud.com, then execute ssh command with its argument, ssh AAAAAABBBBBCCCCCCDDDDDD@app-domain.rhcloud.com.

In this way, you don’t have to input password.


When you forget ssh key passphrase


Have you forgotten ssh key passphrase before? I forgot it twice. 設定したパスフレーズではなぜか使えなかったり、パスフレーズをどこに控えたかを忘れてしまったり。 そんなときに、とても時間がかかりますがブルートフォースでパスワードを当てる方法があります。

使うもの

john the ripper
総当たりをするための候補を作るプログラム。 linux だとパッケージに入っていることが多いです。
ssh-privkey-crack.c
キーの検証を行うプログラム。 コンパイルできる環境が必要です。

Procedure

  1. Download ssh-privkey.crack.c from lusas project. (執筆時にはダウンロードできていたのですが、時点で同じようにダウンロードできるかはわかりません。)

  2. Compile ssh-privkey-crack.c. コンパイルの方法はプログラム内のコメントに書かれています。 私の環境では gcc -Wall -o ssh-privkey-crack ssh-privkey-crack.c -lssl -lcrypto でコンパイルできました。 コンパイル後のファイルには実行権限をつけておきます。

  3. john the ripper をダウンロードして設定ファイルを編集します。 In my environment (ubuntu), /etc/john/john.conf was the default configuration. それに追記する形で設定を追加しました。

    総当たりをする場合の設定です。 File の指定は存在する chr ファイル を指定し、 Extra に chr ファイル 外 の文字で使用する文字を記述します。 chr ファイル の作り方がいまいち把握できていないのでこのようにしました。 MinLen 、 MaxLen はパスフレーズの長さの範囲を指定します。 CharCount で使用する文字の総数を記述します。 今回は 数字と大文字、小文字なので 62 です。 chr ファイルは私の環境だと /usr/share/john/ にありました。

  4. コマンド john -stdout -incremental:Pattern1 | ./ssh-privkey-crack ssh-private-keyfile を実行します。 最後に “-v” をつけると詳細なアウトプットが出せます。 (実際のところ MinLen = 3, MaxLen = 10, CharCount = 62 だとまず終わらないです。)

How to Edit Remote Files on Local Computer


I will introduce the way to edit and save files at the remote server, on my local machine, and other alternative way.

Story

At the company, everyone develops the program on the remote server. Yes, it is Linux server with dark terminal, which provides only vim editor. The server can’t connect to public internet, so we need to upload tools with WinSCP from local machine if we want.

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

So I decided to edit remote files directly on the local machine, which can connect to the internet and install rich editors.

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

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

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

NetBeans

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

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

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

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

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

Komodo Edit

Follow Edit, Preference, and you can configure remote server. After configuration, it can edit remote files.

reference: Basic settings to use Komodo Edit (removed: http://shimz.me/blog/editor/148)

gedit

After some configuration, it can edit remote files.

reference: Use Gedit as Remote File Editor via FTP and SSH (Ubuntu) (removed: 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

It can edit remote files with SFTP plugin.

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

It can edit remote files with rsub plugin, which requires the server to install something.

reference: リモートサーバー上のファイルをローカルのSublime Text 2で編集する (deleted)

Notepad++

It can edit remote file with NppFTP plugin.

reference: How to setup Notepad++ FTP plugin “NppFTP”

geany

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

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

gVim

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

興味のある方は是非。

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