#!/bin/sh # # A sample script to establish PPP session(s) via SSH 1.x # # Adi Masputra # Jan 24, 2000 # # # You'd definitely want to change the following addresses to suit # your network configuration # LOC_IP=10.0.0.1 REM_IP=10.0.0.2 NETMASK=255.255.0.0 export LOC_IP REM_IP # # This is the remote peer where sshd is running, either # its hostname or IP address # PPPD_RHOST=myremotehost # # For this example, we assume that pppd on both local and remote # machines reside in the same place, /usr/local/bin/pppd # PPPD_LOC=/usr/local/bin/pppd # # The location of local options file (where ssh client is running). # Note that the sample options file included in the distribution # may need further customizations, depending on your needs. The 'noauth' # option specified in the file is there to simplify the example, although # some may choose to have it there and rely on ssh authentication # instead. # PPPD_LOC_OPT=/etc/ppp/options-ssh-loc # # The location of remote options file (where sshd daemon is running) # Note that the sample options file included in the distribution # may need further customizations, depending on your needs. The 'noauth' # option specified in the file is there to simplify the example, although # some may choose to have it there and rely on ssh authentication # instead. Also note that the remote options file need to include the 'notty' # options for this to work. # PPPD_REM_OPT=/etc/ppp/options-ssh-rem # # The location of ssh client on the local machine # SSH_LOC=/usr/local/bin/ssh export PPPD_LOC PPPD_LOC_OPT PPPD_REM_OPT PPPD_RHOST SSH_LOC # # Uncomment the following to enable IPv6, note that the IPv6 support # needs to be enabled during compilation # # PPPD_IPV6='+ipv6 ipv6cp-use-ipaddr' export PPPD_IPV6 # # And execute pppd with the pty option, specifying ssh client as the # slave side of the pseudo-tty master/slave pair. Note that on this example, # ssh has been compiled to allow NULL encryption (thus the '-c none' option), # but in reality, you'd probably want to specify the encryption algorithm. # See the man page of ssh(1) for details. # exec $PPPD_LOC \ pty '$SSH_LOC -c none $PPPD_RHOST $PPPD_LOC $REM_IP:$LOC_IP $PPPD_IPV6 file $PPPD_REM_OPT' \ $LOC_IP:$REM_IP netmask $NETMASK $PPPD_IPV6 file $PPPD_LOC_OPT