広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

「.コム」の登録情報をmacでwhoisを使って調べる方法

普段はmacを使っています。お名前.COMなどでドメインを取得した後、
ちゃんとwhois代行ができているか確認するようにしています。

実は、先日まで.コムがすごい安くて買ってみました。

新規登録時にwhois情報の代理をチェックしておくと、以降ずっと無料です。




取得した後に、whois代理になっているかを確認したところエラーになってしまいました。
macのターミナル
$ whois xn--eckwd4c7c5976acvb2w6i.xn--tckwe
whois: xn--tckwe.whois-servers.net: nodename nor servname provided, or not known

日本語ドメイン.コム => xn--eckwd4c7c5976acvb2w6i.xn--tckwe
このドメインは例です。取得したドメインではありません!

日本語ドメイン.comとかだと、punycode変換したxn--eckwd4c7c5976acvb2w6i.comで問題なく調べられます。
punycode変換ツールは、日本語JPドメイン名のPunycode変換・逆変換を使っています。

「.コム」の登録情報をmacでwhoisを使って調べる方法


「.コム」は、punycodeの.xn--tckweを利用するのが正解です。

whoisコマンドには、-h引数でホスト名が指定できます。
-h引数で「.コム」のwhoisサーバーを指定することで検索できるようになります。


$ whois -h whois.nic.xn--tckwe  xn--eckwd4c7c5976acvb2w6i.xn--tckwe


トップレベルドメインは、こちらで検索できます。
IANA.ORG Root Zone Database
見つけた「.コム」のwhoisサーバー情報です。

「.コム」と同じように、「.みんな」、「.グーグル」などもmacでwhois検索できるようになります。



「.コム」の登録情報をmacでwhoisを使って調べる方法以外にも、直接レンタルサーバーにsshログインすることで確認できたりします。

sshログインできるレンタルサーバーのうち、3つ(エックスサーバー、さくらインターネット、ロリポップ)の挙動を確認してみました。


エックスサーバーはそのまま検索できる!


エックスサーバーにsshログインして「.コム」のwhois検索ができるか確認してみました。
エックスサーバーは引数指定しなくても対応済みです。
$ whois xn--eckwd4c7c5976acvb2w6i.xn--tckwe
[Querying whois.internic.net]
[whois.internic.net]

Whois Server Version 2.0




さくらインターネット(スタンダード)は、引数で指定が必要です。


% whois xn--eckwd4c7c5976acvb2w6i.xn--tckwe
whois: xn--tckwe.whois-servers.net: hostname nor servname provided, or not known



ロリポップ(スタンダード)は、whoisコマンドがありません。


$ whois xn--eckwd4c7c5976acvb2w6i.xn--tckwe
-bash: whois: command not found





「.コム」の登録情報をmacでwhoisを使って調べる方法のまとめ


今回ご紹介した、
「.コム」、「.みんな」、「.グーグル」などのwhois登録情報を確認できる方法は、
新たにトップレベルの日本語ドメインが追加されても応用できる方法です。

少しの手間、IANA DBで対応するwhoisサーバーを探すして、whois -h で指定するだけです。


今回使ったmacは、2016/9時点で最新のmacOS Sierra 10.12を使っています。
pingやnslookupの名前解決は可能です。でもwhoisで検索できませんでした。
ping xxx.xn--tckwe
dig(nslookup) xxx.xn--tckwe
whois xxx.xn--tckwe
macでもデフォルトで対応してくれると嬉しいですね!


新たにレンタルサーバーを契約しようかご検討中なら、エックスサーバーがおすすめですよ




posted by scripts at 11:44 | Comment(0) | TrackBack(0) | shell

ロリポップのsshで出来ること ※スタンダードプラン

ロリポップ!のスタンダードプラン、エンタープライズプランはsshでログインができます。

この記事では、スタンダードプランのsshで何ができるのか、出来ることをまとめています。

ロリポップ!スタンダード SSHで出来ること


ロリポップ!スタンダードプランで契約したサーバにSSHログインし、確認してみました。

bashのバージョンは、「GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)」、バージョンから察するにlinux redhatの64ビット版のサーバーのようです。
本来であれば、uname等の結果でわかる情報ですが、ロリポップ!のサーバーはかなり厳格にコマンドを選定しています。
また、通常たくさんのライブラリが見える/usr/lib /libなどアクセス権が適切に設定され、ほとんど一般ユーザーから見えなくなっています。

SSHログインでできることは、アップロードしたファイルの展開、ファイル移動、ファイル編集等のファイル操作、phpコマンドの動作確認、gitコマンド、subversionコマンド、sqlite3データベースのメンテナンスなどです。emacsやnanoといったエディタがデフォルトで利用可能です。
wgetコマンドも使えます。

コマンドは厳選されていますが、フォルダに対する操作はある程度自由が与えられています。
~/.sshフォルダを自分で作って、SSHパスワードなしログイン可能です。


できることより、出来ないことを見た方が分かりやすいかもしれません、
  • gccコマンドを使ったコンパイルはできません
  • unameコマンド、pingコマンドは使えません、見つかりませんでした


ロリポップ!のスタンダードプランで使えるSSHは、
普通にWEBサイト、PHPなサイト、rubyなサイトを構築する用途に最適です!


bashを使ったスクリプト、PHP/Ruby/Python/Perlを使ったスクリプトをクーロンで動かせます




SSHログインで使えるコマンド


  • /usr/bin

    b2m dig emacs expr gem grep-changelog id mysql od pr python2.7 sabcmd sqlite3 svnadmin tac tty vim xsltproc
    clear dir emacs-23.1 find git groups install mysqldump paste printenv rcs-checkin scp ssh svndumpfilter tail unexpand wc yes
    comm dircolors emacsclient fmt git-receive-pack gunzip join nano perl printf readlink seq ssh-keygen svnlook tee uniq wget zip
    convert dirname env fold git-shell head less nkf perldoc ptx rsync sftp stat svnserve test unzip which
    csplit du etags.emacs ftp git-upload-archive htdigest make nl php python ruby sha1sum sum svnsync tr urlgrabber whoami
    diff ebrowse expand gctags git-upload-pack htpasswd md5sum nslookup php5 python2 ruby-1.9.3 split svn svnversion tsort vdir xargs

  • /bin

    awk bash chmod csh date egrep false find grep gzip link ls mailx more nano pwd rm sed sleep stty tcsh traceroute uname vi zsh
    basename cat cp cut echo env fgrep gawk gunzip hostname ln mail mkdir mv nice readlink rmdir sh sort tar touch true unlink zcat



/usr/local/binにはphp/ruby/python/perlがあります。





ロリポップ!スタンダード SSHログイン有効からログインするまでの方法


ロリポップ!スタンダード SSHログインはデフォルトで無効です。
管理画面からSSHを有効にする手順を踏みます。(と言っても公式のマニュアルを見なくても、ボタンひとつで有効にできます)

sshのポート番号は、デフォルトではありませんでした、そのため、sshコマンドの引数を追加してポートを指定する必要があります。

スタンダードプラン ユーザー専用ページ、WEBツール=>SSHでSSHを有効にします。

SSHログインするSSHコマンド引数はコレです


ローカルPC(ここではMacという前提で説明しています。)
$ ssh -p ポート番号 アカウント@サーバー

パスワードが聞かれます。ユーザー専用ページに表示されているパスワードをコピペしてください。

これでロリポップ!スタンダード SSHログインできます。

ロリポップ!スタンダード SSHパスワードなしでログインする方法



ローカルPC(ここではMacという前提で説明しています。)でid_dsa.pubが存在するか確認します。
$ ls ~/.ssh/

id_dsa.pubがない場合は作ります。


$ ssh-keygen -t dsa
これで、~/.ssh/id_dsa.pubファイルが作られています。

サーバー名、アカウントが長いので省略名でログインする設定をします


ローカルPCでの作業です。
$ vi ~/.ssh/config
以下を追記します。
Host 省略名(半角で入力)
HostName ロリポップ!ユーザー専用ページ SSHのサーバー
User ロリポップ!ユーザー専用ページ SSHのアカウント
Port 接続ポート

ここでは、以下で設定した仮定で進めます。
Host lolipop
HostName sshxxx.xxxx.jp
User xxx.jp-yyy
Port 9999


id_dsa.pubをロリポップ!スタンダードサーバーに転送します。


ローカルPCのid_dsa.pubをロリポップ!スタンダードサーバーに仮転送します。
$ scp ~/.ssh/id_dsa_pub lolipop:~/.
(パスワードを入力します)

仮転送したid_dsa.pubを確定させます


ロリポップ!スタンダードサーバーにsshログインしてください。
(ローカルPC) $ ssh lolipop
(パスワード入力します)

(ロリポップ!)$ mkdir ~/.ssh
(ロリポップ!)$ chmod 700 ~/.ssh
(ロリポップ!)$ mv ~/id_dsa.pub ~/.ssh/authorized_keys
(ロリポップ!)$ chmod 600 ~/.ssh/authorized_keys

シェルは省略ワードなど使えますが、ここではフルで書いています。知っている方は!$とか使ってください。

この状態で、ローカルPC側で新たにterminal(Shell)を起動して、パスワードなしで入力できることを確認します。
$ ssh lolipop

設定ミスがなければ、パスワードなしでそのままロリポップ!にログインできます。



今回紹介したロリポップ!でSSHができる
スタンダードプラン 詳細はこちら
です
posted by scripts at 17:39 | Comment(0) | TrackBack(0) | shell

お名前COMの共用サーバーにパスワード入力を簡略化sshログインする方法

お名前COMの共用サーバーには、今までSSHログインする機能はありませんでした。
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にログイン出来ます。



posted by scripts at 12:55 | Comment(0) | TrackBack(0) | shell
最新記事
最新コメント
タグクラウド
カテゴリアーカイブ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。