Friday, March 9, 2007

SSH Guide

Complete SSH Guide

SSH FAQs

What is SSH

A packet-based binary protocol that provides encrypted connections to remote hosts or servers. Shell access allows you to run command line programs, copy/edit/delete files, and more.

I can’t conncet with my login
You must first have SSH Enabled by a System Admin. (Contact Support)

”stdin: is not a tty”
This is merely the bash sessions echoing back
that the standard input is not a tty (console) rather a pty.

Shell is continuously becoming disabled?
Anytime an account and/or package associated with an account is Modified SSH is not carried over and in turn will need to be re-enabled.

Am I able to Enable SSH for my Clients (Reseller)
No, SSH is enabled on a per account basis and Done so by Network Redux.

Common SSH Commands

System Information

who
List the users logged in on the machine.

rwho -a
List all users logged in on your network. The rwho service must be enabled for this command to work.

finger user_name
System info about a user. Try: finger root last. This lists the users last logged-in on your system.

history | more
Show the last (1000 or so) commands executed from the command line on the current account. The | more causes the display to stop after each screen fill.

pwd
Print working directory, i.e. display the name of your current directory on the screen.

hostname
Print the name of the local host (the machine on which you are working).

whoami
Print your login name.

id username
Print user id (uid) and his/her group id (gid), effective id (if different than the real id) and the supplementary groups.

date
Print or change the operating system date and time. E.g., change the date and time to 2000-12-31 23:57 using this command

date 123123572000
To set the hardware clock from the system clock, use the command (as root)
setclock

time
Determine the amount of time that it takes for a process to complete+ other info. Don’t confuse it with date command. For e.g. we can find out how long it takes to display a directory content using time ls

uptime
Amount of time since the last reboot and load average of system.

ps
List the processes that are have been run by the current user.

ps aux | more
List all the processes currently running, even those without the controlling terminal, together with the name of the user that owns each process.

top
Keep listing the currently running processes, sorted by cpu usage (top users first).

uname -a
Info on your server’s kernel version.

free
Memory info (in kilobytes).

df -h
Print disk info about all the file systems in a human-readable form.

du / -bh | more
Print detailed disk usage for each subdirectory starting at root (in a human readable form).

lsmod
(as root. Use /sbin/lsmod to execute this command when you are a non-root user.) Show the kernel modules currently loaded.

set | more
Show the current user environment.

echo $PATH
Show the content of the environment variable PATH. This command can be used to show other environment variables as well. Use set to see the full environment.

dmesg | less
Print kernel messages (the current content of the so-called kernel ring buffer). Press q to quit less. Use less /var/log/dmesg to see what dmesg dumped into the file right after bootup. – only works on dedciated systems

cat /proc/cpu
Shows information about all the CPUs installed on the running system.

Commands for Process control

ps
Display the list of currently running processes with their process IDs (PID) numbers. Use ps aux to see all processes currently running on your system (also those of other users or without a controlling terminal),
each with the name of the owner. Use top to keep listing the processes currently running.

fg
PID Bring a background or stopped process to the foreground.

bg
PID Send the process to the background. This is the opposite of fg. The same can be accomplished with Ctrl+Z.

any_command &
Run any command in the background (the symbol ‘&’ means run the command in the background?).

kill PID
Force a process shutdown. First determine the PID of the process to kill using ps.

killall -9 program_name
Kill program(s) by name.

xkill
(in an X-windows terminal) Kill a GUI-based program with mouse. (Point with your mouse cursor at the window of the process you want to kill and click.)

lpc
(as root) Check and control the printer(s). Type ??? to see the list of available commands.

lpq
Show the content of the printer queue.

lprm job_number
Remove a printing job job_number from the queue.

nice program_name
Run program_name adjusting its priority. Since the priority is not specified in this example, it will be adjusted by 10 (the process will run slower), from the default value (usually 0). The lower the number (of niceness to other users on the system), the higher the priority. The priority value may be in the range -20 to 19. Only root may specify negative values. Use top to display the priorities of the running processes.

renice -1 PID
(as root) Change the priority of a running process to -1. Normal users can only adjust processes they own, and only up from the current value (make them run slower).

Useful commands

screen
This command will start a multi-terminal emulator. Once started you can press Ctrl+A ? for more information

How to Access/Use SSH

cPanel/Browser

  • Slect the ‘SSH/Shell Access’ Function.
  • You are now logged into the command line of the server that your site is on.
  • You are logged in as the main user on your account. You can now access the files that are a part of your account.

Terminal/Client

There are multiple options when using SSH. 1 of which being the above (browser) and secondly a Terminal.

If you are on Windows, PuTTY is an open-source implementation of Telnet and SSH for Win32 and Unix platforms, along with an xterm terminal emulator.

PuTTY can be downloaded at this website.

ssh username@domain.com
Shell must first be enabled by a system admin.



No comments: