[SOLVED..Sorta..workarnd] How to concatenate SSH commands to PFS for scripting?
-
EDIT 2: Solved by adding Sudo, making no password for root. Installed via web GUI. I still think it's INCREDIBLY dumb that there's no concatenation for the pfs gui (multiple commands for scripting, "such as 7 && yahoo.com" to ping…....... so only 1/2 resolved
**EDIT: Only 1/2 Solved by checking out this post: https://forum.pfsense.org/index.php?topic=43641.msg226099#msg226099\
This is still an issue. There are some commands I need root access to..**
^ Subject says it all.
Most SSH scripting connects, types a lot of concatenated commands (cmd1 && cmd2 && exit) for a chain of cmds.
However, I noticed in the main interface ("Choose a cmd#"), nothing will concatenate! I tried "&", "&&", ";", and "|".
This makes it REALLY difficult to do anything with scripting. For something so advanced, surely there has to be something I'm missing….
For the sake of example, let's say I want to ping, either in PFS or in shell, both won't work because concatenation is required:
Something like "7" && "yahoo.com" .... without conc. it'll just press 7, then RELOG IN and type yahoo.com (which just refreshes the screen, since it's not on 7 anymore).
It won't let me break to shell to utilize concatenation because I have to get to shell first and add commands after ;) the most I can do now is get to shell, then reconnect back to the main screen ;p
Cheers
-
As noted on the other topic. Create another admin account and use sudo package.
-
As noted on the other topic. Create another admin account and use sudo package.
Sudo package for this version of bsd is broken (moved to another host or something?), which I also read in another thread.
This sophisticated software and no way to concatenate commands..? I find this hard to believe..
Alternately, how can I change shells for the main admin on initial login? If I look at /etc/master.passwd it shows a second account start at /bin/tcsh while admin starts at init.d .. I tried editing this file but doesn't seem to do anything. How can I also make main admin load in /bin/tcsh?
-
Sudo package for this version of bsd is broken (moved to another host or something?), which I also read in another thread.
Complete nonsense. Install it from System - Packages and move to "concatenation" or what on earth you mean (strongly suspect you should start by reading man ssh instead). ::)
-
via the GUI? I'll take a look.
Concatenation is just joining multiple commands on 1 line, mostly for scripting or SSH
(from ssh) "echo blah && echo blah2" then this will display:
blah
blah2(2 commands, 1 line).
So I'd like to ping from main screen,
7 && yahoo.com
but won't work:
Because of the main initial screen, it won't allow this, so nothing at all works for scripting– Let's say I want to ping, I type 7, then ssh has to login AGAIN and the screen resets, so the next screen is..... the same screen that started ;p
-
ahhh the GUI sudo add was incredibly easy – cheers. I have everything I want now
-
(if anyone was curious, /bin/tcsh leads directly to shell, so in /etc/rc.initial, you can comment out opmode and instead put /bin/tcsh .. havent tested if it works on reboot. Leads straight to root shell
-
Are you just trying to go straight to a shell rather than having the config wizard (or whatever it's called)? If that is what you're trying to do, changing /etc/rc.initial probably isn't the best way to go about this.
The reason why /etc/rc.initial is being executed after logging in via SSH is because /root/.profile is set to start it for interactive sessions. If you want to immediately launch tcsh rather than rc.initial, change /root/.profile to use /bin/tcsh rather than changing rc.initial. Doing it this way should leave /etc/rc.initial intact in case you need to use it in the future.
Edit:
Reread your original post, sounds like you just wanted to get straight into a root shell rather than use a script to enter options on the wizard