スマホからSSHで自宅のMacへ接続する方法 (前編)
外出先で、ちょっとした空き時間ができたとき喫茶店などで、Macで作業を行いたいときありますよね?
かといってMacを常に持ち歩くのも重いし嫌です。
今回は、自宅のMacにAndroidのスマホからSSHでログインし使い倒す方法について紹介します!
- 外出先でも家のリッチなMacのリソースが利用できる。
- 重いPC持ち歩かなくてよい。
- スマホの大画面化、高解像度化によりスマホ画面でもストレスなく作業できる。
- MacMiniの消費電力は稼働時平均たったの18W!
- LTEの普及によりアクセスも割と安定している。
- 暗号化されるので安全
手順は以下のようになります。
- Macの共有設定をする。
- 認証キーを作成する。
- SSHの設定を変更する。
- 自宅のルータのグローバルIPを調べる。
- SSHクライアントアプリをダウンロードする。
- 接続・動作確認
環境
さて、順を追ってやっていきましょう。
まず始めに、SSH接続を許可する設定をMac側で行う必要があります。
メニューからAppleマーク-システム環境設定を開く。→共有を選択
リモートログインにチェック
赤枠で囲った部分は、ssh [ユーザID]@[MACのローカルアドレス]
となります。
ユーザID、ローカルアドレスどちらもログインする際に必要になるので覚えておきましょう。
SSHでログインするためのキーを作成します。
必要なキーは秘密鍵と公開鍵になります。
Macでターミナルを起動。
$ ssh-keygen -t rsa ←キーを作成
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
途中、キーのパスフレーズを設定できますがそのままEnterで問題無いです。
~/.sshに作成されるid_rsa が秘密鍵で、id_rsa.pub が公開鍵になります。
id_rsa.pubは、authorized_keysに変更してアクセス権も変更しておきましょう。
$ chmod 600 authorized_keys ←アクセス権変更
次に、作成した秘密鍵(id_rsa)をスマホへ移動します。
ここで秘密鍵が流出してしまうと認証の意味が全くなくなってしまうので、慎重に行いましょう。
コピーする方法は様々ですが、Android File Transfer等のソフトでUSB接続でコピーするのが確実かと思います。
コピーが終わったら、Macにあるコピーもとの秘密鍵(id_rsa)は忘れずに消しておきましょう。
スマホのどのフォルダに置くかは自由ですが、私はローカルのDataフォルダに置きました。
ここはセキュリティの要なのでしっかりやっていきましょう。
具体的には、sshd_configを変更します。
$ sudo vim /etc/sshd_config
ファイルを開いたら以下のように変更(確認)してください。
●rootでのログインを禁止
PermitRootLogin no●RSA公開鍵認証の有効化
RSAAuthentication yes
PubkeyAuthentication yes●authorized_keysへのパス
AuthorizedKeysFile /XXXX/.ssh/authorized_keys●rhostでの接続不許可
RhostsRSAAuthentication no●パスワード認証不許可(ブルートフォースアタック対策)
PasswordAuthentication no●空のパスワード不許可
PermitEmptyPasswords no
●チャレンジレスポンス認証不許可
ChallengeResponseAuthentication no
変更が終わったら保存してvimを閉じる。
次は、SSH接続の際に用いるポートを変更します。
SSHはデフォルトで22番ポートを使用するようになっています。
私もはじめは、そのまま22番ポートを解放し使っていましたが、アクセスログをみると不審なIPから頻繁に認証を試みている形跡がみられました。
もちろんログインはできていませんでしたがあまり気持ちいいものではないです。
使用するポートを変更したところ、ぱったりとアクセスはやみました。
ここでも一応変更しておきましょう。
ssh 22/udp # SSH Remote Login Protocol
ssh 22/tcp # SSH Remote Login Protocol
となっているところを
ssh 10022/udp # SSH Remote Login Protocol
ssh 10022/tcp # SSH Remote Login Protocol
へ変更しましょう。これで、SSHで使用されるポートが22→10022へ変更されます。
保存終了後
$ sudo launchctl load /System/Library/LaunchDaemons/ssh.plist
これでSSHの設定は完了です。
ルータのグローバルIPを調べる方法は簡単です。
今自分が使っているMacから以下のサイトにアクセスすればわかります。
http://www.cman.jp/network/support/go_access.cgi
グローバルIPは基本的には固定ではなく、停電などが発生すると変動してしまいます。
プロバイダによっては無料で固定IPを付与してくれるところもあるので、調べてみてください。
DDNSを用いてもいいと思います。
ただ、私はIP固定してませんが、ほぼ変わることはないようですので実使用上ほとんど問題ないです。
今度は、ルータの設定です。
ルータには、10022ポートを解放し、10022ポートで外部からアクセスがあった場合、MacのローカルIPへ中継するという設定を行う必要があります。
これは、自分の使用しているルータの取説で調べてください。
ちなみに私が使用しているBuffaloのルータでは、ブラウザのURLに192.168.11.1入力。
root/パスなしでログインし、以下のようにすることで設定できました。
それぞれ、解放するポート番号と、先ほど調べたMACのローカルアドレスを入れています。
次は、SSHクライアントアプリをダウンロードする。
です。
APPLE Mac mini/ 2.5GHz Dual Core i5 /4G/500G/USB3/Thunderbolt MD387J/A
- 出版社/メーカー: アップル
- 発売日: 2012/10/24
- メディア: Personal Computers
- クリック: 6回
- この商品を含むブログ (15件) を見る
インテル Boxed SSD 530 Series 240GB MLC 2.5inch Reseller BOX SSDSC2BW240A4K5
- 出版社/メーカー: インテル
- 発売日: 2013/09/07
- メディア: Personal Computers
- この商品を含むブログを見る
記事についていいね!と思ったら是非、下のボタンぽちっとお願いします(^_^)/