コンピュータを研究に使うための私的メモ。Python、Fortran、Ubuntu、etc...

wget

ディレクトリごと取得

$ wget -r -np -nH --cut-dirs=5 -R 'index.html*' http://www.hoge.com/hige1/hoge2/hoge3/hoge4/hoge5/

特定のファイル名のものを取得

$ wget -A 'global*' http://www....

ssh

パスフレーズなしで公開鍵認証

ローカルなネットワークでいちいちパスワードを入力するのがわずらわしいので公開鍵認証をパスフレーズなしで設定する。
まずローカルサーバー上で公開鍵を生成する。
$ ssh-keygen -t rsa -b 2048
すると公開鍵ファイルの名前とパスフレーズを尋ねられる。そのままEnterを押し続ければ秘密鍵id_rsa、公開鍵id_rsa.pubがパスフレーズなしで生成される。

次にリモートのサーバーに公開鍵を送る。
$ scp id_rsa.pub hoge@192.168.1.xxx:~/
公開鍵を~/.ssh/authorized_keysに追加する。.sshやauthorized_keysがない場合はパーミッションに注意して作成する。
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ cd ~/.ssh
$ touch authorized_keys
$ chmod 600 authorized_keys
$ cat ~/id_rsa.pub >> authorized_keys
$ rm ~/id_rsa.pub
これでパスフレーズなしでsshできるようになる。秘密鍵にパスフレーズをつけた場合はパスフレーズつきの公開鍵認証になりsshの際に鍵を生成したときに設定したパスフレーズが尋ねられる。上手くいかないときは.sshやauthorized_keysのパーミッションを確認。リモートとローカルを混同していたり、authorized_keysのファイル名のつづりが間違っているとか意外と単純な間違いに気づかない(少なくとも自分はこれではまった)。

複数の秘密鍵を使い分ける。

秘密鍵認証で接続するサーバーが複数ある場合は秘密鍵を使い分けたほうがよい。特に内部ネットワーク用にパスフレーズなし認証で作った鍵を外部サーバーに使うのはセキュリティ上よくない(いずれにせよ鍵の管理は慎重に)。鍵を指定するには、
$ ssh -Y -C -i id_rsa hoge@192.168.1.xxx
のようにiオプションで指定できる(省略するとデフォルトでid_rsaが指定されるみたい)。いちいち指定するのが面倒なのでsshの設定ファイルで鍵を指定する。さらにホスト名やユーザ名も設定しておけるのでsshの際の入力がはぶけて便利。

~/.ssh/configを作成し以下のように記述する。
Host hogelocal
    HostName      192.168.1.xxx
    IdentityFile    ~/.ssh/id_rsa
    User               hoge
Host hogepublic
    HostName      hoge.org
    IdentityFile    ~/.ssh/id_rsa.hoge.org
    User               hogehoge
これで秘密鍵を自動で選択してくれるだけでなくホスト名やユーザ名を省略できる。
ssh -Y -C hogepublic
とするだけで、
ssh -Y -C -i id_rsa.hoge.org hogehoge@hoge.org
と同じように接続できる。

sshfs

  • マウント
$ sshfs ユーザー名@サーバーのアドレス:マウント先 マウント元
  • アンマウント
$ fusermount -u マウント元
×

この広告は60日間更新がないwikiに表示されております。

情報

管理人のみ編集できます