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