No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 547 | 548 | 549 |...| 1376 | 1377 | 1378 || Next»

年齢++;

めでたし?

LDAP で ssh の公開鍵管理

ホームディレクトリを共有しないマシン達で ssh の公開鍵だけでも共有したいなと.何やら LDAP に置けるらしいのでやってみた.

とりあえず,LDAP サーバでスキーマ追加.sshPublicKey を持ち得る ldapPublicKey というオブジェクトクラスを定義する.

cat > openssh-lpk.ldif <<'EOF'
dn: cn=openssh-lpk,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: openssh-lpk
olcAttributeTypes: ( 1.3.6.1.4.1.24552.500.1.1.1.13 NAME 'sshPublicKey'
  DESC 'MANDATORY: OpenSSH Public key'
  EQUALITY octetStringMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
olcObjectClasses: ( 1.3.6.1.4.1.24552.500.1.1.2.0 NAME 'ldapPublicKey' SUP top AUXILIARY
  DESC 'MANDATORY: OpenSSH LPK objectclass'
  MAY ( sshPublicKey $ uid )
  )
EOF
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f openssh-lpk.ldif

次に,ssh サーバにスクリプトを置いて LDAP から鍵を取れるようにする(ドメインとかはテキトウな値を書いている).

cat > get_pubkey_LDAP <<'EOF'
#!/bin/bash
if test ${EUID:-${UID}} != 0; then
    echo "run as root"
    exit 0
fi
if test "x$1" = "x"
then
  echo "usage: $0 UID"
  exit
fi
uid=$1
dcs="dc=fuga,dc=hoge,dc=jp"
ldapsearch -x -H ldapi:/// -b $dcs -LLL -D cn=admin,$dcs -w admin_pass_here "(& (objectClass=posixAccount) (uid=${uid}))" "sshPublicKey" | sed -e '1d;s/^ //' | sed -e 'H;$!d;g;s/\n//g' | sed -e 's/sshPublicKey: /\n/g' | sed -e '1d'
EOF
chmod 700 get_pubkey_LDAP
sudo cp get_pubkey_LDAP /etc/ssh/get_pubkey_LDAP

そして /etc/ssh/sshd_config にこのスクリプトを使うように追記:

AuthorizedKeysCommand /etc/ssh/get_pubkey_LDAP
AuthorizedKeysCommandUser root

もともと ~/.ssh/authorized_keys が有効なら,これで authorized_keys と LDAP と両方見に行ってくれる.

あとはユーザアカウント毎に鍵を LDAP に入れる.そのためにまずアカウントを ldapPublicKey クラスに入れる:

username="your_account_name"
dcs="dc=fuga,dc=hoge,dc=jp"
cat << << EOF | ldapadd -x -H ldapi:/// -D cn=admin,$dcs -w admin_pass_here
dn: uid=$username,ou=people,$dcs
changetype: modify
add: objectClass
objectClass: ldapPublicKey
EOF

そしてユーザの鍵を追加する:

username="your_account_name"
dcs="dc=fuga,dc=hoge,dc=jp"
pubkey=$( cat $YOUR_PUBLIC_KEY )
cat << EOF | ldapadd -x -H ldapi:/// -D cn=admin,$dcs -w admin_pass_here
dn: uid=$username,ou=people,$dcs
changetype: modify
add: sshPublicKey
sshPublicKey: $pubkey
EOF

なお,LDAP に鍵は複数個登録可能.あとは ssh サーバに置くスクリプトが複数の鍵に対応してればいい(と思う).

作業が捗る

日曜の大学は静かでいいなと.平日休んで土日に出勤しても良いような気もするのだけど,実際問題としてどうなんだろう?

就業規則で休日がどう定義されているかと裁量労働制の適用時にどういう扱いなのかか.でも振替の処理があるから特定の期間で日数だけあってれば問題ないような.そのうち給与まわりの部署にでも問い合わせて見ようかね.

まあ,毎日講義があったら無理だけど.

Facebook テロ

Facebook が「知り合いかも」とかいうデスクトップ通知が出てくるのだけど,夜に来た通知に乗ってる顔写真が怖いとビビる.写真は適切に設定しなければならないなと思う今日このごろ.

駐車場で

「車空空空空空車」という状態でなぜ「車空空車空空車」と止めるのかわからない.次の車が来たら必ず隣り合うので事故の確率が上がるのに…… 「車空車空空空車」としておいてくれればもう一台は両隣が空きとなってぶつかりにくい.

というか広い空間のまん中にとめるという考えなだけかもしれない.

500円玉651枚を預入

11時頃に郵便局に行って 500円玉達を預入.窓口でメッシュポーチ入りの500円玉達 4.5kg と通帳を渡し,そこから金額のチェックで20分弱かかった.迷惑な客だな(と思って空いてる時間帯に行ったら空いてたので問題なかろう).窓口のお姉さんも暇そうだったので500円玉貯金を流し込みに来る人がどの程度いるのか聞いておけばよかったかも.

そしてこの口座は水道代の支払いにしか使ってないのだけどお金を移すのも面倒なのでそのまま放置.25年分の水道代.

閑話休題.

どうも 5限目が 18:00 終了だと思ってしまうのだけど何故だかわからない.17:50 終了というのがキリが悪くて覚えられないのかもしれない.

«Prev || 1 | 2 | 3 |...| 547 | 548 | 549 |...| 1376 | 1377 | 1378 || Next»
Search
Feeds

Page Top