1#!/bin/sh 2# 3# A sample script to establish PPP session(s) via SSH 1.x 4# 5# Adi Masputra <adi.masputra@sun.com> 6# Jan 24, 2000 7# 8 9# 10# You'd definitely want to change the following addresses to suit 11# your network configuration 12# 13LOC_IP=10.0.0.1 14REM_IP=10.0.0.2 15NETMASK=255.255.0.0 16 17export LOC_IP REM_IP 18 19# 20# This is the remote peer where sshd is running, either 21# its hostname or IP address 22# 23PPPD_RHOST=myremotehost 24 25# 26# For this example, we assume that pppd on both local and remote 27# machines reside in the same place, /usr/local/bin/pppd 28# 29PPPD_LOC=/usr/local/bin/pppd 30 31# 32# The location of local options file (where ssh client is running). 33# Note that the sample options file included in the distribution 34# may need further customizations, depending on your needs. The 'noauth' 35# option specified in the file is there to simplify the example, although 36# some may choose to have it there and rely on ssh authentication 37# instead. 38# 39PPPD_LOC_OPT=/etc/ppp/options-ssh-loc 40 41# 42# The location of remote options file (where sshd daemon is running) 43# Note that the sample options file included in the distribution 44# may need further customizations, depending on your needs. The 'noauth' 45# option specified in the file is there to simplify the example, although 46# some may choose to have it there and rely on ssh authentication 47# instead. Also note that the remote options file need to include the 'notty' 48# options for this to work. 49# 50PPPD_REM_OPT=/etc/ppp/options-ssh-rem 51 52# 53# The location of ssh client on the local machine 54# 55SSH_LOC=/usr/local/bin/ssh 56 57export PPPD_LOC PPPD_LOC_OPT PPPD_REM_OPT PPPD_RHOST SSH_LOC 58 59# 60# Uncomment the following to enable IPv6, note that the IPv6 support 61# needs to be enabled during compilation 62# 63# PPPD_IPV6='+ipv6 ipv6cp-use-ipaddr' 64export PPPD_IPV6 65 66# 67# And execute pppd with the pty option, specifying ssh client as the 68# slave side of the pseudo-tty master/slave pair. Note that on this example, 69# ssh has been compiled to allow NULL encryption (thus the '-c none' option), 70# but in reality, you'd probably want to specify the encryption algorithm. 71# See the man page of ssh(1) for details. 72# 73exec $PPPD_LOC \ 74 pty '$SSH_LOC -c none $PPPD_RHOST $PPPD_LOC $REM_IP:$LOC_IP $PPPD_IPV6 file $PPPD_REM_OPT' \ 75 $LOC_IP:$REM_IP netmask $NETMASK $PPPD_IPV6 file $PPPD_LOC_OPT 76 77