2015年6月16日よりSSH接続機能が提供され、ログインできるようになっています。
お名前COMへSSHログインする方法は、お名前COMのマニュアル類を参考にしてください。
お名前COM共用サーバーSDでSSHする際の課題
現在、お名前COM共用サーバーSD-11を契約しています。
- sshでログインすると、~/、ホームディレクトリ下の権限がありません。
~/.cshrc, ~/.bashrc、~/.ssh/などが作成することができません。
現時点では、一般的な公開キーを用いたsshパスワードの省略が行えません - 慣れの問題ですが、ユーザー名が特殊です
$ ssh ユーザー名@sshホスト名
ユーザー名は、sd9999999@gmoserver.jpです
なので、ssh sd999999@gmoserver.jp@ssh99.gmoserver.jpというような感じになります。
個人の環境問題だと思いますが、macからsshログインする際、1回目のパスワード入力を失敗すると
アカウントロック的な状況に陥ってログインできなくなりました。
お名前COMの共用サーバー ちょっとセキュアなsshパスワード省略ログイン方法
先ほど課題で触れたとおり、公開キーを使うSSHパスワード省略ログインはできません。
クライアント側で工夫する方法しかありません。
この記事は、どちらかというとmacやlinuxからお名前COMにsshログインする方に適しています。
Windowsな環境の場合、WinSCPやputtyなどのキーワードで情報を探してください。
(確認は、osx el capitanで行っています)
公開キー以外のsshパスワードを省略する方法は、
expect(shellの対話プログラミング)、sshpass(SourceForge 引数でパスワードを渡せるプログラム)
の2つです。
expectで作ったshellは、環境に依存しやすいので、ここでは、sshpassを利用します。
sshpassのソースは以下sourceforgeにあります。コンパイルしてインストールしてください。
http://sourceforge.net/projects/sshpass/
sshpassの使い方
sshpass -p パスワード ssh ホスト名 -l ユーザ名 -o 'StrictHostKeyChecking no'
実際に実行中のsshpassプロセスは、ps -le等で見ても、パスワードがzzzzというような表示になって秘匿されています。
historyで確認すると、打ち込んだパスワードがそのまま残ってしまいます。
また、shellでパスワードを平文で残しておくのも、なんとなくやな感じがします。
一人しか使わないような環境では、シェルスクリプトにそのまま平文が最も簡単な方法です。
以下方法では暗号化しています、ただ、何者かが自分のユーザーでログインできてしまった場合、暗号化は破られます。なので、ちょっとセキュアな方法です。
スクリプト
sshpassは、~/local/binにインストールしてある状態です。
~/local/bin/mylogin.sh(ファイル名、パスは自由です)
#!/bin/sh
ssh_agent(){
host=$1
user=$2
f=~/.ssh/${user}@${host}.rsa;
PASSWORD=$(openssl rsautl -decrypt -inkey ~/.ssh/id_rsa -in ${f})
~/local/bin/sshpass -p ${PASSWORD} ssh ${host} -l ${user} -o 'StrictHostKeyChecking no'
}
お名前COM sshログインスクリプト(適切なファイル名でお願いします)
ex) ~/onamae-ssh.sh
#!/bin/sh
. ~/local/bin/mylogin.sh
ssh_agent ssh99.gmoserver.jp sd999999@gmoserver.jp
これでスクリプトの準備は完了です。chmod +xで実行可能にしておきます。
sshログインパスワードの暗号ファイルの用意
opensslを使ってパスワードファイルを作成します。
~/.ssh/id_rsaファイルを使います。あらかじめ作成してください。
パスワードファイルは、~/.ssh/ユーザ名@ホスト名.rsaという形で準備します。
(これ本当はどこでも、なんでもいいです、ただ先のスクリプトと対になっているので、変更する場合はスクリプトも変更してください)
$ echo 'パスワード' | openssl rsautl -encrypt -inkey ~/.ssh/id_rsa > ~/.ssh/ユーザ名@ホスト名.rsa
これで暗号化したパスワードができました。
パスワードは、ssh_agent()処理で復号されます。
使い方
~/onamae-ssh.sh
でお名前COM 共用サーバーSDにログイン出来ます。
- 初期費用0円(2022年8月4日に撤廃)
- 安定したサイト運営が可能(CPU/メモリ リソース保証 6コア/8GB〜)
- 契約中は独自ドメインつき 独自ドメイン永久無料特典があります
- 最大10日間無料で、サーバーのお試し利用ができます
- ディスクキャッシュも高速 NVMe SSDを採用(300GB〜)
- 大量アクセスでも安心 転送量は無制限
【このカテゴリーの最新記事】
-
no image
-
no image