debiancdn

AWS, Content Delivery Network and Debian

カテゴリーアーカイブ: ssh

.ssh/configのDynamicForward

.ssh/configにDynamicForwardなるオプションがあるのを今日しった。

いままでいつもいつも

ssh hostname -D1080 

とかしていた。

macportsのPortfileをいじってsocks問題解決

macportsのtsocksをいじったらDNSも無事引けるようになった.

経緯としては,次の一連の流れをmacportsのconfigureで指定してやればokというだけのことでした.

  1. クライアントでDNSのUDPクエリ
  2. tsocksで TCPに変換
  3. socksサーバにTCPでといあわせ
 cd /opt/local/var/macports/sources/rsync.macports.org/release/ports/net/tsocks
 more Portfile 

すると

以下のように二行追加してやる.あとは port install tsocks

configure.args   --with-conf=${prefix}/etc/tsocks.conf \
                 --libdir=${prefix}/lib \
                 --enable-socksdns \             <-- 追加
                 --disable-tordns \                <-- 追加
                 --mandir=${prefix}/share/man

最初は configで tordnsを無効にして,enable-socksdnsだけを追加してcompileしてたんだけど,それでは駄目でした.

socks生活version up

やんごとなき理由によりsocks環境を更新することになった.
というのも,そのやんごとなきsocks環境がいろいろ変わったことが問題.

port 22を転送しなくなったのとDNSが引けないというか返さないのが問題だった.

  • すくなくともmacosxからだとtsocksでserver_typeを4にしても,tordns_enableをtrueにしても全くだめ.tsock ssh hostname -p 22じゃないポートではつながらない.tsocks ssh IPアドレス -p22じゃないポート ではok.
  • firefoxではok.
  • danteのsocksifyはそもそもちゃんと動いてない.

いろいろあったのだが,今回のsocks生活変更点

  • sshのsocks機能を(最近はやりだし)使ってみる.ssh -D 1080 IPアドレス -p ポート とした.
  • まあ,そのssh自体もsocks越えをしないといけないので,connectコマンドを使うことで,tsocksを頭につけなくてもいいようにしてみた.connect.cをコンパイルして,.ssh/configのホストに “ProxyCommand connect -S やんごとなきsocksのIPアドレス -4 %h %p” を書けばいいだけ.

そして意外だったのは,firefoxのproxyもそのlocalのsocksにしたら,directよりだいぶ速くなったような気がするなんでだろ.まあ気のせいかな.

sshd_configを設定しまくり

実は正直なんでcbcではだめなのか理解に至っていないのだが,ctrを使うようにサーバのsshd_configを設定しまくった.

OpenSSH情報 – SSHプロトコルに平文を回復できる脆弱性 という記事がでてて,その中で,こんなことがかかれている.

デフォルトのCiphersの設定は以下の通りです[ssh_config(5)より].

    aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr 

以下のように ~/.ssh/config に設定することで, AESをCTRモードで用いる暗号法のみが利用されます.

Ciphers aes256-ctr,aes192-ctr,aes128-ctr

自分のssh接続が読まれないようにするならこれでいいのであるが,守るべきサーバがあるなら,そっちのsshd_configにCiphersを追記すべきだよなあとおもったので,追加.

ssh-copy-idがmacにないの不便だなあ,と一瞬おもったのでcopyしてくる

ssh-copy-idないの不便だなあ,とつぶやいたら,yaegashi師がcopyしてくりゃ使えるよ,と教えてくれたので,確認したらシェルスクリプトだったし,早速etchからコピーしてきた.

まずはdebianからcopyしてきて

 ssh-copy-id remotehost

してみたら,remotehostの.ssh/authorized_keysに

 $ ssh-add -L

の出力であるところの

 The agent has no identities.

が追加されていた.

ちゃんと設定されるはずらしい(yaegashi師)のだがわからん.

勝手にpub keyをssh-add -Lしたりして探してくれるらしいのだが,失敗したときは.ssh/identity.pubをデフォで選ぶらしい.

自分の場合はid_rsa.pubだったのでまったくひっかからなかったようだ.

とりあえずここのあたりはよくわからないのだが

 ssh-copy-id -i .ssh/id_rsa.pub remotehost

として回避した.