# ラボ小ネタ集 ## SSH Port Forwarding するときターミナル開きっぱなのうざい `-fNT` でバックグラウンド動作させられる。やめるときは `pgrep -la ssh` で検索して `kill` 。 ## Arch Linux から研究室のプリンタを使う ドライバ `hplip` と適当な GNOME かなんかのプリンタ管理ソフトを入れた。 ## 全部 VPN 通すのはキモい VPN に常に接続しておくコンピュータを 1 台用意して(今回は BeagleBone Black を使った),VPN と SSH の設定をし,ゲートウェイサーバの `ProxyCommand` にこのマシンを設定した。これにより,研究室のサーバに SSH するときは VPN で接続されたマシンを経由し,その他の通信は普通に(=VPNを通さず)行えるようになった。 また,大学の VPN サービスは一定時間通信が行なわれないとサーバ側から切断されてしまう。そこで,一定時間おきに学内のプリントサービスに HTTP リクエストを送るスクリプトを書き,接続が維持されるようにした。現状 15 分おきでうまく稼動している。 ```sh #! /bin/bash while : do curl --connect-timeout 30 -s https://webprint.k.hosei.ac.jp if [ $? = "0" ]; then echo "OK, $(date)" else echo "Failed, exiting..." exit fi sleep 900 done ``` ## VPN を通した学外からの SSH が遅い ゲートウェイサーバへの接続を多重化 (multiplex) するようにした。これにより,他の接続は全て共通のコネクションを踏み台として使うようになるため,都度の認証を行う必要がなくなり,迅速な接続の確立が実現された。 ## LDAP でシェル変えるのだるい LDAP で認証してるユーザのログインシェルを変えるのはいろいろ面倒くさい。しかし `.bashrc` に `exec zsh` などと記述すると `scp` するときに問題が生じていた。 ~~どうせ作業は tmux のセッション上でやるので,`$TMUX` 変数がセットされているときのみ `exec zsh` するような設定を `.bashrc` に書いた。~~ `scp` すると `TERM` 変数が `dumb` になるそうなので、そのとき以外は Zsh を起動するようにした。 ↓ `.bashrc` ```shell if [ "$TERM" = "dumb" ]; then echo -n else exec zsh fi ```