config ファイルを使ってホスト毎の設定
2005-09-01-3 / カテゴリ: [linux][ssh] / [permlink]

ssh でリモートログインする際に、サーバ毎にユーザ名が違ったり、ポートが wellknown じゃなかったりすると、そのたびにオプションを指定するのがメンドウ。
で、~/.ssh/config にホスト毎の設定を記述しておけば、引数にホスト名をしていするだけでアクセスできるようになる。

Host server1         # 以下 server1 に接続するときの設定
  User foo             # ユーザ名は foo
  Port 10022           # 接続するポートは10022
  Compression yes      # 圧縮を有効にする
  CompressionLevel 5   # 圧縮レベルは5(1:低/9:高)
Host server2         # 以下 server2 に接続するときの設定
  User bar             # ユーザ名は bar
  IdentityFile ~/.ssh/id_rsa_serv2 # 使用する秘密鍵はid_rsa_serv2
Host server3         # 以下 server3 に接続するときの設定
  User baz
  LocalForward 10110 server3:110 # localの10110をserver3のpop接続にフォワードする

みたいな。
明示的に指定しなかった項目は、デフォルトの値が使用される(ハズ)。debian なら /etc/ssh/ssh_config かな。

c.f. man ssh_config(5)
     ssh obtains configuration data from the following sources in the follow-
     ing order:
           1. command-line options
           2. user's configuration file ($HOME/.ssh/config)
           3. system-wide configuration file (/etc/ssh/ssh_config)

fetchmail と ssh ポートフォワードの併用(さらにapop)
2005-07-23-2 / カテゴリ: [linux][command][ssh][POP3][メール] / [permlink]

.fetchmailrcに
set postmaster zaki
set no bouncemail
set logfile $HOME/log/fetchmail.log

defaults
  flush
  fetchall
  no mimedecode
  no rewrite
  smtphost localhost

poll pop.example.org
  via localhost port 10110
  proto apop
  username 'username'
  preconnect "ssh -f -L 10110:pop.example.org:110 -i ~/.ssh/.id_rsa_nonpass zaki@pop.example.org sleep 15"
  password 'pop-passwd'

pop.example.org に ssh セッションを張って、ローカルへの 10110 アクセスを pop.example.org の 110 へフォワード。でもって、ローカルの 10110 へ apop で pop3 アクセス。sleep 15 は、retr が完了しきれる時間を考慮すること。

.id_rsa_nonpass はパスフレーズなしの ssh 秘密鍵。管理はしっかり!

ssh ポートフォワード
2005-07-23-1 / カテゴリ: [linux][command][ssh] / [permlink]

いつもTTSSHやputtyのポートフォワードばかり使って、/usr/bin/ssh でポートフォワードしたことなかったなぁ。
ssh -L 10025:remote.example.org:25 user@example.org
これで、ローカルマシンの10025にアクセスすれば、example.org から見た remote.example.org のポート 25 にアクセスできる。

ちなみに、上の ssh プロセス自体は、example.org への通常の ssh アクセスとさほど変わらず。

scp/sftp で日本語eucファイルのやりとり
2005-07-05-2 / カテゴリ: [win][ssh][アプリ] / [permlink]

WinSCP(日本語サイト)FileZillaでは、日本語ファイル名の文字コードまでは面倒みていない。ので、Win上のファイルをそのままアップロードしても、サーバ上ではSJISなファイル名になってしまう。Winのみが接続するファイルサーバとして使う分には構わないが(samba併用なら、cp932で設定)、Linuxローカルでファイル参照する際には分が悪い。sambaのみなら[2005-07-04]の設定でなんとかなるけど、ssh(scp/sftp)でのファイルのやりとりが絡むと対処できなくなる。
で、探してみると、FileZillaには、サーバとのファイルのやりとり時に、ファイル名の文字コードを SJIS <-> EUC 変換してくれるナイスなパッチ発見。

http://www.unixuser.org/~haruyama/software/filezilla_patch.html

これで、万事解決〜。
FileZilla(2.2.14b)をフツーにインストールした後、"2.2.14bにパッチを当てた実行ファイル FileZilla.exe" を上書き保存すれば良し。
ただし、サーバ上にある、元々 SJIS なファイル名は化けてしまうので、WinSCP とうまく使い分けるのが良いかも。

ssh でファイル転送
2005-06-08-2 / カテゴリ: [linux][ssh] / [permlink]

$ cat file.jpg | ssh user@server 'cat - > file.jpg'

ssh ログインしたときにコマンドを実行する
2005-06-08-1 / カテゴリ: [linux][ssh] / [permlink]

・サーバワイドに設定
/etc/ssh/sshrc に実行したいシェルスクリプトを書く

・ユーザごとに設定
~/.ssh/rc にシェルスクリプト

~/.ssh/rc があるときは、/etc/ssh/sshrc は無視される。

man sshd "LOGIN PROCESS"
           8. If $HOME/.ssh/rc exists, runs it; else if /etc/ssh/sshrc
                exists, runs it; otherwise runs xauth. The ``rc'' files are
                given the X11 authentication protocol and cookie in standard
                input.
とのこと。

ただし、これをやると、scp/sftp が失敗する…

(scpでなく) ssh コマンドでファイル転送
2005-03-22-1 / カテゴリ: [linux][ssh] / [permlink]

% command | ssh user@server 'cat > ~/file'
ファイルを転送し、それを使って更にリモートでコマンド実行! なんて時は便利
かも
% cat file | ssh user@server 'cat > ~/file; remote-command ~/file'

sshd を inetd で起動する設定
2004-11-24-3 / カテゴリ: [linux][ssh] / [permlink]

/etc/inetd.conf
ssh  stream  tcp  nowait  root  /usr/sbin/sshd sshd -i

SFTP クライアント
2004-06-23-1 / カテゴリ: [win][ssh][アプリ] / [permlink]

http://www.ex.media.osaka-cu.ac.jp/windows/filezilla.html
FileZilla なんてのを発見
(mozillaとは関係ないっぽ)

TeraTerm + TTSSH で ssh ポートフォワーディング
2004-06-14-1 / カテゴリ: [network][win][ssh] / [permlink]

11:44 (zaki) 参考: http://www.media.hiroshima-u.ac.jp/manual/ttssh/portfwd.html
11:44 (zaki) まずは、TeraTermとTTSSHでsshが使えるようにしておく
11:44 (zaki) そのうえで
11:45 (zaki) [setup]->[SSH Forwarding]から
11:45 (zaki) Port Forwardingで[Add]
11:45 (zaki) Forward local port(上の方)にチェックをいれ、
11:46 (zaki) 上のポート番号は、ローカルマシンでLISTENするポートなので自分のマシンで使えるポートを指定(僕は26667/特に意味なし)
11:46 (zaki) 下の to remote machine に、RX-8のアドレス&ircのポート 46667を指定
11:46 (zaki) 入れたら、[OK]
11:47 (zaki) TTSSH: Forwarding Setupも[OK]で抜ける
11:47 (zaki) でもって、一旦[Setup]->[Save setup]でTERATERM.INIを保存する
11:48 (zaki) 最後に、[New connection]で、rx-8にSSH(port22)で普通にSSHログインする
11:48 (zaki) すると、ローカルマシンで26667(僕の場合)でLISTENするので、
11:49 (zaki) LimeChatの設定で、localhost:26667へアクセスする
11:49 (zaki) 以上
カテゴリ: ssh

最終更新時間: 2013-05-02 16:12