mirror of https://gitee.com/openkylin/ppp.git
77 lines
2.3 KiB
Bash
Executable File
77 lines
2.3 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# A sample script to establish PPP session(s) via SSH 1.x
|
|
#
|
|
# Adi Masputra <adi.masputra@sun.com>
|
|
# 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
|
|
|