Last-modified:
ssh1 はサーバ/クライアント間で 暗号化された TCP/IP 通信を行うプログラム群(およびプロトコル) の総称である.クライアントがサーバを介して別のホストへの通信も可能となっている.
/etc/sshd_config sshd 設定ファイル /etc/ssh_config ssh クライアント設定ファイル /etc/ssh_host_key (ホスト用秘密鍵) /etc/ssh_host_key.pub (ホスト用公開鍵)
RhostsAuthentication no RhostsRSAAuthentication no #(サーバベースのRSA用) RSAAuthentication yes #(クライアントベースのRSA用) PasswordAuthentication no PermitEmptyPasswords no
% ssh-keygen1
identity 秘密鍵(クライアントが持つ) identity.pub 公開鍵(サーバに置く)
% rcp ~/.ssh/identity.pub server:/home/user/.ssh/ % rlogin server % cd ~/.ssh % cat identity.pub >> authorized_keys
Host (name) HostName (remotehost) Port 22 #ssh port User (username) ProxyCommand (後述) IdentityFile ~/.ssh/remote_key
% ssh -L 6667:(irc-server):6667 (name)
config の ProxyCommand は,ssh の通信を行う際に使用するプログラムを記述できる. このプログラムはフィルタの役目を果たし,ssh の標準入出力を受けることができる.
ProxyCommand /usr/local/bin/filter %h %p
この例では,鍵で暗号化された標準入力を /usr/local/bin/filter にて処理して sshd に送信する. %h は sshd の相手先ホスト名,%p は相手先ポート名に変換され,filter の引数として 渡すことができる.
BSD とは関係ないが,Windows のターミナルアプリ Tera Term Pro を ssh に対応させる
ttssh の設定方法を示す.
何も用意していなければクライアントである Windows 側で鍵を生成することは出来ないので,
ここではサーバ(UNIX 側)で鍵を生成し,クライアントに持って行く方法を取ることにする.
% ssh-keygen1
% cd ~/.ssh % cp ./identity.pub ./authorized_keys (ユーザ側公開鍵)
SSH ssh_known_hosts SSH Authentication User name を入力 Use RSA key to login は C:\Program Files\ttermpro\identity
Forward local port 8021 to remote machine ftp接続先 port 21
インストールして起動するだけで,通常使う分には設定は不要.
% ssh-keygen2
id_dsa_1024_a 秘密鍵(クライアントが持つ) id_dsa_1024_a.pub 公開鍵(サーバに置く)
% cd ~/.ssh2 % mv id_dsa_1024_a client_key % mv id_dsa_1024_a.pub client_key.pub
% cd ~/.ssh2 % echo "IdKey client_key" >> identification
% rcp ~/.ssh2/client_key.pub server:/home/user/.ssh2/ % rlogin server % cd ~/.ssh2 % echo "key client_key.pub" >> authorization
telnet stream tcp nowait root /usr/local/bin/tcpd in.telnetd ^^^^^^^^^^^^^^^^^^^
in.telnetd,in.ftpd:127.0.0.1,10.:allow # サービスを限定 ALL:127.0.0.1,10.:allow # サービス全部 ALL:ALL:deny