macOS Sierra では1024bit以下の鍵を使ったクライアント認証が使えない

macOS SierraやiOS10でPPTPが非対応になってVPN接続で困っているという話を時々聞くようになりましたが、実はSSH接続でも1025以下の暗号強度で作成した秘密鍵が使えなくなっているという問題もあります。

Apple、macOS SierraでOpenSSH v7を採用。いくつかのレガシーな暗号が無効に。

これまでは、
# ssh-keygen -b 1024 -t dsa
とコマンドを打って作ったものが使えなくなっています。取り急ぎ、
# ssh-keygen -f id_rsa -t rsa -b 2048
で作り直して、Sierraにアップデートしていない方のMacでサーバに設定してなんとかなりましたが、これは想定外で慌てました。

IOSデベロッパプログラム更新 2016年版

本日、デベロッパープログラムを更新したので報告。

1. Apple ID で Member Center にサインイン

下記URLに更新の概要とMember Center へのリンクが貼ってあります。

プログラムの更新 – サポート – Apple Developer
https://developer.apple.com/support/renewal/jp/

2. 「renew your membership」をクリック

「renew your membership」のメッセージは更新期限が近くないと出ないと思います。
2016/3/3 時点での更新料金は 11,800円(税込12,744円)。
そのまま進んで行けばお支払いのページまで行けます。

3. 支払い
クレジットカード払いならセキュリティコードを入れて決済完了。

4. Apple Developerからメールが届く

件名が「Thank you for purchasing an Apple Developer Program」のメールがすぐに届きます。
メールの内容にはアクティベート日と更新後の期限が書かれています。
更新なのでアクティベート日は現在の更新期限と同じ日になります。

アプリを作ってないから(いつ作るんだ?)というのもあって忘れがちな更新ですが、今年はギリギリ更新に間に合いました。
これまでの履歴としては

  • 2013年登録
  • 2014年更新
  • 2015年失効後に更新
  • 2016年更新

通知の比較としては2014年更新と比較になるのですが毎年フォーマットが変わっているので来年はまだ若干かわっているかも。

記憶の範囲ですが、2014年は全て英語ページ。2015年以降は概要ページ・決済画面以降が日本語ページになっていました。

今回は決済時に登録情報の修正が不要だったので比較的に楽でした。今時は開発用と個人用のApple IDは分けなくても不便はなくなったのかな?(昔はデベロッパープログラムの決済情報は英語で登録する必要があって、逆にiOSやOS Xを日本語で使用する場合は決済情報を日本語でしか登録できなくて面倒でした。)

macのターミナルのBEEP音を消す方法

この前、ボリューム変更の音を消したばかりですがこっちも気になります。
よくファイル名の補完の為に[TAB]キーを押しますがその度にピヨッてなるのが気になる。

方法ですがググったらすぐに出てきました。ホームディレクトリの.inputrcに「set bell-style none」を追記するだけでした、

私の環境では.inputrcファイルは無かったのですが以下のコマンドをターミナルから打ち込んでターミナルを再起動すれば以後ピヨりません。

echo "set bell-style none" >> ~/.inputrc

この方法には抜け道がありました。。。
ssh等で他のサーバにログインした場合は意味を成さなくなります。
そうするとサウンド設定かターミナルの設定で探すしか無いと見てみたら普通にありました。。。

termsetup

ターミナル→環境設定→設定タブのオーディオベルのチェックを外すだけでした。またビジュアルベルがどんなものか試したら一瞬ターミナルがフラッシュする効果でしたのでこちらを採用することにしました。

それでは快適なmacライフを。

App Storeのレビューで本名を出さない方法

レビューしたこと無いけどこれは設定しておいたほうがよさそうですね。

iTunesを起動。
iTunes Storeへアクセスして、左上の※自分のメールアドレスがあるボタンをクリック
またはメニューのStoreからアカウント(※自分のメールアドレス)を表示
設定の欄にニックネームの項目があります。

「新しいカスタマーレビューを投稿する、またはこれまでに匿名で投稿したレビューを再投稿するには、ニックネームを作成してください。」

と書いてありました。

その横に「ニックネームを作成する」のリンクがあるのでそれをクリック。
一度設定すると上記のメッセージはニックネームに、リンクは「ニックネームを編集する」に変わりました。

情報元:ライフハッカー
App Storeのレビューでニックネームを設定する方法

Macの音量調整の時の音を消す方法

情報元はライフハッカーからですが、今まで困っていながら対応しようとしてなかった。簡単にできるので早速適用。

「システム環境設定」を起動
「サウンド」をクリック
「サウンドエフェクト」タブを選択
「音量を変更するときにフィードバックを再生」のボックスのチェックを外す

情報元:ライフハッカー
Macで音量を上げ下げするときの「ポン」音を消す方法

ポートフォワードを使って踏み台先のサーバにFileZillaでファイル送受信する

WinSCPはトンネルの設定があり単体で踏み台経由の接続ができますが、残念な事にこのツールがWindows版しか無い為、他のOSでは別の方法をとる必要があります。

その一例としてsshコマンドによるポートフォワードを使った接続を紹介します。

1.ターミナルを立ちあげてポートフォワードを行う

ssh -L <ローカルポート>:<転送先ホスト>:<転送先ポート> <踏み台ホスト>

ローカルポート:FileZillaに設定したいポート番号
転送先ホスト:踏み台からアクセスするサーバー
転送先ポート:踏み台からアクセス先のサーバーへ接続するポート

例えば普段SSHで以下のように接続する場合

ssh user1@172.16.33.43 (踏み台)
ssh user2@192.168.1.6 (転送先)

割り当てるローカルポート番号を10022とすると
ssh -L 10022:192.168.1.6:22 user1@172.16.33.43 -p 22

この状態でlocalhost:10022は172.16.33.43経由で192.168.1.6:22に接続される。
注意点としては上記コマンドを実行して172.16.33.43にログインした後は、FileZillaの作業が終わるまで閉じないこと。

2.FileZilla で接続する。
ホスト名に localhost、ポートに 設定したポート番号、ユーザ名はuser2
(上記の例で行くと 10022 を設定する)

expectでssh自動接続

実はMacのネタですがLinux枠でw

普段使うノートがMacになったので急に障害連絡が来た時にメンテ可能な端末はMacしかない。でもBSDベースなので親和性が高く楽にできると何もせず構えてたら結構面倒だったw
これまではTeratermのマクロを準備していて例えば10台のサーバに一気にログインする必要があったりするときマクロファイルをダブルクリックでガンガンログインしていたのだが、MacにはTeratermないし同様の機能をどうするかなっと検索。
#!/usr/bin/expect
set timeout 1
spawn ssh root@192.168.56.101
expect “password: “
send “111111n”
expect “[.*]$ “
send “ls -ln”
expect “[.*]$ “
interact
結論としてexpectを利用してsshと対話してしまえば良い事が分かった。これならLinux上でもそのまま使える。但し二段階ログインした上でその先での操作が出来るかどうかについては確認していないが無理そうな気がする。
これはシェルスクリプトな感覚で作成します。違いは一行目にshではなくexpectを定義している点とその後のコマンド送信がteratermマクロっぽい感じになっていること(多分expectの方が先だと思いますがw)
spawnの行でsshコマンドを書き秘密鍵を利用するならここにオプションも一緒に書けば良いと思う(秘密鍵を使う場合はパスワード暗記しているケースが多いのでexpectの世話にはなり難いと思うが)
expectは待ち受ける文字列、ここではpassword: とプロンプトを待っている記述がある。
そしてsendがターミナルに送信するコマンドです。
最後のinteractはログインしたままの状態で終了するおまじない。これが無いとSSH接続を終了するので用途によって付けたり付けなかったりします。

Macフリーソフト

これまでいれたフリーソフトの一覧

・Xcode
iPhoneアプリをつくってみたいので。
・Google Chrome
Chrome使いなので
・Google 日本語変換
予測変換が凄い!
・Open Office
MS Ofiiceを買わなかったので一応
・Dropbox
他のPCやiPod touchとの連携に必要
・Evernote
上記に同じ
・Inkscape
電子書籍作成用
・NetBeans
PHPアプリ開発用
・Sigil
電子書籍作成用
・AppCleaner
アプリ削除支援
mi(テキストエディタ)
JellyfiSSH(SSH接続情報管理)
Cyberduck(SFTP)
CotEditor(テキストエディタ)
とこんなところです。
AppStoreでいれたものはまた後日。