Public domain
ssh username@RemoteValidIP -L LocalIP:LocalPort:RemoteInvalidIP:RemotePort -N
ssh username@RemoteValidIP -R RemotePort:LocalInvalidIP:LocalPort -N
ssh 10.11.12.1 -L 172.16.20.2:3389:10.11.12.20:3389 -N
ssh 10.11.12.1 -L 172.16.20.2:5631:10.11.12.20:5631 -D 172.16.20.2:5632 -N
ssh user@10.11.12.1 -R 2222:172.16.20.2:22 -N
Server:
# adduser
Username: pejman
Full name: Pejman Moghadam
Uid (Leave empty for default):
Login group [pejman]:
Login group is pejman. Invite pejman into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]:
Home directory [/home/pejman]:
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password: pass123456
Enter password again: pass123456
Lock out the account after creation? [no]:
Username : pejman
Password : *****
Full Name : Pejman Moghadam
Uid : 1001
Class :
Groups : pejman
Home : /home/pejman
Shell : /bin/sh
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (pejman) to the user database.
Add another user? (yes/no): no
Goodbye!
# su pejman
$ cd
$ pwd
/home/pejman
$ mkdir .ssh
$ exit
Client:
# vi /etc/hosts
10.20.30.100 sshserver
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ef:fb:69:f3:82:e4:bc:32:f3:11:88:40:67:2c:64:f6 root@reza.12345
# ssh-copy-id -i /root/.ssh/id_rsa.pub pejman@sshserver
or :
# scp /root/.ssh/id_rsa.pub pejman@sshserver:/home/pejman/.ssh/new-authorized_keys2
test :
# ssh -L 5050:localhost:5050 pejman@sshserver
# cd /usr/ports/lang/php5
# make install clean && rehash
# vi /usr/local/sbin/ssh-tunnel.php
#!/usr/local/bin/php
< ? php
$port = 5000;
$ip = "localhost";
$user = "pejman";
$server = "sshserver";
$fp = fsockopen($ip, $port);
$str = "/usr/bin/ssh -L ${port}:${ip}:${port} ${user}@${server} -N &";
if($fp):
fclose($fp);
else:
exec($str);
endif;
? >
# chmod +x /usr/local/sbin/ssh-tunnel.php
# vi /etc/crontab
* * * * * root /usr/local/sbin/ssh-tunnel.php > /dev/null
BY: Pejman Moghadam
TAG: ssh, freebsd
DATE: 2009-05-06 14:15:26