メルマガ購読・解除
 



SSH Client&Server

ssh Client


    $ user_name="hogehoge"
    $ domain="192.168.0.2"
    $ ssh ${user_name}@${domain} || ssh -l $user_name $domain

ssh Server


    $ ssh-keygen $user_name
    $ su -c "/etc/init.d/ssh start"

debianの通常インストール時にはsshサーバがインストールされていません。

    $ which sshd || whereis -b sshd || echo $PATH
    $ su -c "apt-get update;apt-cache search openssh-server"

ssh 第一回 日本語マニュアル
ssh 第二回 設定ファイル
ssh 第三回 共通鍵と秘密鍵



トラブルシュート

ネットワークデバイスは動作しているか?
$ net_dev=eth0
$ /sbin/ifconfig $net_dev

切り分けのヒント(debian)
1.カーネルからのメッセージを確認
$ dmesg | grep $net_dev || su -c "cat /proc/kmsg" || man dmesg
2. $net_dev でIPアドレスが取得できているか
$ /sbin/ifconfig $net_dev || man ifconfig
3.IPアドレスは、DHCPによる自動取得か、それとも固定IPか(LAN側)
$ ls /etc/network/interfaces | xargs cat || man interfaces

DHCPの場合
$ su -c "/sbin/ifconfig $net_dev up"

固定IP(LAN側)の場合
$ net_ip=192.168.0.2
$ net_netmask=255.255.2555.0
$ net_gw=192.168.0.1
$ su -c "/sbin/ifconfig $net_ip netmask $net_netmask gw $net_gw $net_dev up"

4.ルータへのpingは通るか
$ net_gw=$(/sbin/route -n -A inet | grep UG | awk -F" " '{print $2}');test -z $net_gw && man route
$ ping $net_gw -c 3 || man ping

ルータの設定を行う場合(routeコマンドのdevは省略可)
$ net_net=192.168.0.0
$ net_broadcast=192.168.0.255
$ su -c "/sbin/route add -net $net_net netmask $net_netmask gw $net_gw dev $net_dev"

5.目的のサーバへのping
$ net_server=192.168.0.100 $ ping -c 3 $net_server
どのような経路で目的のサーバに到達しているか確認
$ traceroute $net_server

ttlで到達までにどのくらいのルータを通過しているか確認する
$ for list in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20;
do echo $list;ping -c 3 $net_server -t $list && success=$success:$list;done
$ echo $success ttlが到達するまでの区間内でtraceroute上で「* * *」で表示されている場合は、
pingに対してセキュリティの有効なルータの可能性が高い。

サーバ側の設定の確認
サーバは動作しているか
$ ps -A | grep sshd
$ ps -aux | grepx sshd

設定ファイルは正しく記述されているか
$ ls /etc/ssh/sshd_config | xargs less || man sshd_config

$ ps -A | grep sshd
$ ps -aux | grep sshd
$ cat /etc/ssh/sshd_config
$ ls /etc/ssh ~/.ssh


戻る