れっつとらい
ここから備忘録。
- 暗号鍵作成
パスワードの認証だとガバッちゃうからまず認証用の鍵を作る。
$ cd ~
$ mkdir .ssh
//暗号鍵作成
$ ssh-keygen -t rsa
//ここから「パスフレーズを設定するか」何かを英語で尋ねられるけど、
終わるまでEnter連打でも大丈夫。
//認証公開鍵の複製
$ cat id_rsa.pub >> authorized_keys
//認証鍵のアクセス権変更
$ chmod 600 authorized_keys
この作業後に生成されたid_rsa
のファイルを優先で端末に転送しておく。これを-iオプションで鍵に使うことで認証できる。転送が終わったら念のため下記。//鍵の削除
$ rm id_rsa
- ssh設定変更
不本意なお客にノックされたり、入られたりしないように設定をいじる。
$ cd /etc
//設定ファイルのバックアップ(大切!)
$ sudo cp /etc/sshd_config /etc/sshd_config.back
//設定ファイルを開いて編集
$ sudo emacs /etc/sshd_config
emacsでもviでもいいから開いて、下記のところを編集する。具体的には、前半の項目名と同じところが有るので後ろのyes/noをかえたり、行頭の#
を外したりする。編集したら保存を忘れずに。//ルートでのログイン禁止 PermitRootLogin no //RSA認証の有効化 RSAAuthentication yes //"authorized_keys"ファイルの場所 AuthorizedKeysFile /Users/hoge(ユーザーのid)/.ssh/authorized_keys //パスワードによる認証不使用 PasswordAuthentication no //空のパスワードは拒否 PermitEmptyPasswords no //チャレンジレスポンス認証を不許可 ChallengeResponseAuthentication no
- 使用ポートの変更
ssh標準のポート22を使ってると、やはりノックされまくるらしいので使うポートを変える。
開いたファイルの下記の箇所を書き換える//設定ファイルを開く $ sudo emacs /etc/services
//前 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
- ホスト側のグローバルIP確認
ホストのMacからこういうところ(グローバルIPアドレス確認 - CMAN)にアクセスしてグローバルIPを調べてメモっておく。 - ルーターの設定からポート開放設定
自分の家のルータの設定を変更して、上で設定した10022番ポートがホストに回してくれるよう設定する。ルーターごとに設定が違うのでググらなければいけない。我が家は憎きSoftbank光なので以下
- 192.168.11.1に接続、user/userでログイン
- 詳細設定を開く -> ポート転送
- 有効/無効 -> 有効
プロトコル -> tcp
WAN/LAN側ポート両方 -> 10022-10022
転送先IPアドレス -> 自分のMacのローカルip(ネットワーク環境設定から手動設定にして固定するといい)
- リモートログインを有効にする
システム環境設定を開き、共有>リモートログインにチェックを入れる。
$ ssh -p 10022 -i "鍵のファイル" アカウント名@グローバルIPアドレス
でssh接続できるようになる。is01でemacsを開いてgcc/javacして実行もできるぞ!
グローバルIPとDDNS
グローバルIPアドレスはたまに変わる。これが嫌な場合はDDNSサービスを利用することで解決できる。自分はNo-IPというサービスを使ってアドレスを固定している。サインインしてホストにクライアントを入れるだけの簡単仕様なので調べてみるとよろし。is01とConnectBot
is01からのssh接続にはConnectBotを使うことにした。至極当たり前だけど、is01にはCtrlキーとEscキーが無い。そのため、ショートカットを用意してくれているんだけど、使いづらい。おまけにShift+数字がファンクションキーの判定になって記号が打てない。軽くググると、 ConnectBotはオープンソースなので自分で書き換えてビルドすればいい とのありがたい言葉が出てきた。が、何故かEclipseがうまく動かなかったので断念。更にググると、改変済みのapkを配布している優しい人がいた。神はいる。
ここ(is01アップローダー)からダウンロード、インストールするだけでOK!
ConnectBotで鍵ファイルを使う場合は
1. SDカードに鍵ファイルを転送
2. ConnectBotを開きMeueキーから公開鍵管理を開く
3. Meueキーからインポートを選んで、鍵ファイルを選択
4. 一度失敗してもいいからホストに接続を試みる
5. Backキーで一覧に戻って履歴を長押し>接続ホストの編集
6. 「公開鍵認証を使用」をタップして、さっきインポートした鍵を選ぶ
で準備完了。
このapkのConnectBotはShift+数字が正しく記号になるのに加えて、”絵・顔・記”キーが”Ctrl”,”文字”キーが”Esc”に当てられてる。これでコーディングができるねやったね!
参考
No-IP : https://www.noip.com/ソフトバンク 光ユニット ポート開放 : https://www.akakagemaru.info/port/bbunit.html
スマホからSSHで自宅のMacへ接続する方法 (前編) : http://jrkl.hatenablog.com/entry/ssh_connect1
Macに外部からアクセス出来るようにする方法 : https://rcmdnk.com/blog/2013/10/29/computer-mac/
0 件のコメント:
コメントを投稿