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.
Tag Archives: ssh
Gradle: Automatic Deployment
私が Gradle を使って Spring Boot の自動デプロイを実現した方法です。 自動というのは リポジトリのフックなどではなく、 自動テストの後のデプロイでもなく、 コマンドでデプロイする方法を指しています。
Continue reading Gradle: Automatic DeploymentOpenShift: 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
Download
ssh-privkey.crack.c
from lusas project. (執筆時にはダウンロードできていたのですが、時点で同じようにダウンロードできるかはわかりません。)Compile
ssh-privkey-crack.c
. コンパイルの方法はプログラム内のコメントに書かれています。 私の環境ではgcc -Wall -o ssh-privkey-crack ssh-privkey-crack.c -lssl -lcrypto
でコンパイルできました。 コンパイル後のファイルには実行権限をつけておきます。john the ripper をダウンロードして設定ファイルを編集します。 In my environment (ubuntu),
/etc/john/john.conf
was the default configuration. それに追記する形で設定を追加しました。123456[Incremental:Pattern1]File = $JOHN/digits.chrExtra = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZMinLen = 3MaxLen = 10CharCount = 62総当たりをする場合の設定です。 File の指定は存在する chr ファイル を指定し、 Extra に chr ファイル 外 の文字で使用する文字を記述します。 chr ファイル の作り方がいまいち把握できていないのでこのようにしました。 MinLen 、 MaxLen はパスフレーズの長さの範囲を指定します。 CharCount で使用する文字の総数を記述します。 今回は 数字と大文字、小文字なので 62 です。 chr ファイルは私の環境だと
/usr/share/john/
にありました。- コマンド
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 のページで紹介されていますので、そちらをご覧ください。
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 。
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接続してみる