Hi, all!

First of all, congratulations on the great work you've been doing on
pfSense! Here is my problem: I've enabled ssh on my pfSense 1.2.2
router and am able to run ssh sessions on it normally. However, when
it comes to using sftp and scp I receive the following errors after
typing the password in:

(sftp) Received message too long 170535466
(scp) protocol error: unexpected <newline>

By googling around I learnt one possible reason for such errors is
pfSense might be echoeing anything (e.g. a menu) when logged in, which
sftp/scp do not expect. So I tried wrapping the whole contents of
/etc/rc.initial like this:

if [ ${TERM} != "dumb" ]; then
    <original /etc/rc.initial>
fi

(I send my new /etc/rc.initial in attachment). Sure, now I manually
set TERM=dumb and watch the ssh session close immediately after typing
the password in. Unfortunately, this has not changed either sftp or
scp's behaviour for better... Any ideas or pointer would be most
appreciated. Thanks in advance.

Cheers,

Jorge.
#!/bin/sh

# $Id: rc.initial,v 1.55.2.33.2.7 2008/11/04 03:59:04 sullrich Exp $
# /etc/rc.initial
# part of pfSense by Scott Ullrich
# Copyright (C) 2004 Scott Ullrich, All rights reserved.
# originally based on m0n0wall (http://neon1.net/m0n0wall)
# Copyright (C) 2003-2004 Manuel Kasper <[email protected]>.
# All rights reserved.

if [ ${TERM} != "dumb" ]; then

if [ -e /usr/local/etc/rc.d/dev_bootstrap.sh ]; then
        echo
        echo "A developer bootstrap is most likely in progress."
        echo "This operation bootstraps all developer files from"
        echo "pfSense.com and also FreeBSD.org and builds a ISO"
        echo "to verify the environment is sane."
        echo
        echo "During this process, /usr/src is automatically downloaded"
        echo "and many supporting files are built, installed, etc."
        echo
        echo -n "Would you like to tail the progress (y/n) [n]? "
        read ANSWER
        if [ "$ANSWER" = "y" ]; then
                echo
                echo "Tailing developer bootstrap process."
                echo
                echo "Press CTRL-C to abort."
                echo
                echo "Note, this tailing process will exit once the operation 
is completed."
                echo
                tail -f /tmp/bootup_messages
        fi
fi

# make sure the user can't kill us by pressing Ctrl-C,
# ctrl-z, etc.
#trap : 2
#trap : 3
#trap : 4

CONFIG="/cf/conf/config.xml"
WORD="https"

# Document which terminal launched last
# so we can attempt to track down the
# rc.initial respawn issues.
echo `tty` > /tmp/last_term_seen

# Set our operating platform
PLATFORM=`cat /etc/platform`

# endless loop
while : ; do

if [ -f /tmp/ttybug ]; then
        rm /tmp/ttybug
        exit && exit && logout
fi

/etc/rc.banner

# display a cheap menu
echo
echo
echo " pfSense console setup "
echo "***********************"
echo " 0)  Logout (SSH only)"
echo " 1)  Assign Interfaces"
echo " 2)  Set LAN IP address"
echo " 3)  Reset webConfigurator password"
echo " 4)  Reset to factory defaults"
echo " 5)  Reboot system"
echo " 6)  Halt system"
echo " 7)  Ping host"
echo " 8)  Shell"
echo " 9)  PFtop"
echo "10)  Filter Logs"
echo "11)  Restart webConfigurator"
echo "12)  pfSense PHP shell"
echo "13)  Upgrade from console"
SSHD=`netstat -an | grep "*.22" | wc -l`
if [ "$SSHD" -gt 0 ]; then
        echo "14)  Disable Secure Shell (sshd)";
else
        echo "14)  Enable Secure Shell (sshd)";
fi

for i in /var/db/pfi/capable_*; do
    if [ -f $i -a ! -L /cf/conf ]; then
        echo "98)  Move configuration file to removable device"
        break
    fi
done

if [ "$PLATFORM" = "cdrom" ]; then
    echo "99)  Install pfSense to a hard drive/memory drive, etc."
    echo
fi

echo
read -p "Enter an option: " opmode
echo

# see what the user has chosen
case ${opmode} in
0)
        exit && exit && logout
        ;;
1)
        /etc/rc.initial.setports ; sleep 10 ; killall login ; exit
        ;;
2)
        /etc/rc.initial.setlanip ; sleep 10 ; killall login ; exit
        ;;
3)
        /etc/rc.initial.password
        ;;
4)
        /etc/rc.initial.defaults ; sleep 10 ; killall login ; exit
        ;;
5)
        /etc/rc.initial.reboot
        ;;
6)
        /etc/rc.initial.halt
        ;;
7)
        /etc/rc.initial.ping
        ;;
8)
        /bin/tcsh
        ;;
9)
        /usr/local/sbin/pftop
        ;;
10)
                /usr/sbin/tcpdump -n -e -ttt -i pflog0
                ;;
11)
                /etc/rc.restart_webgui
                ;;
12)
                /usr/local/sbin/pfSsh.php
                ;;
13) 
                php -f /etc/rc.initial_firmware_update
                ;;
14) 
                php -f /etc/rc.initial.toggle_sshd
                ;;              
15)
                /etc/rc.banner
                ;;
98)
                if [ ! -f /tmp/config_moved ]; then
                        /etc/rc.initial.store_config_to_removable_device
                fi
                ;;
99)
                if [ -e /dev/ukbd0 ]; then
                    env TERM=cons25 /scripts/lua_installer
                else
                    /scripts/lua_installer
                fi
                ;;
100)
            if grep "$WORD" "$CONFIG"
            then
                links "https://localhost";
            else
                links "http://localhost";
            fi
            ;;
"")
                killall login ; exit
        ;;
esac

done
fi
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Commercial support available - https://portal.pfsense.org

Reply via email to