<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ktrunov</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ktrunov"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Ktrunov"/>
	<updated>2026-05-15T21:54:50Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Sshutel&amp;diff=121650</id>
		<title>Sshutel</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Sshutel&amp;diff=121650"/>
		<updated>2017-05-08T18:54:28Z</updated>

		<summary type="html">&lt;p&gt;Ktrunov: /* Server side Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
Do you ever wanted to use SSH as a VPN? There is little piece of useful utility called [https://sshuttle.readthedocs.io/en/stable/index.html sshuttle] is available to completely turn your SSH connection as VPN. sshuttle is a transparent proxy server that works as a poor man’s VPN over ssh. You don’t need any admin account on your remote system. It supports DNS tunneling and works with Linux and MacOS platforms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The program is suitable for the cases when:&amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/overview.html sshuttle overview]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Your client machine (or router) is Linux, FreeBSD, or MacOS.&lt;br /&gt;
&lt;br /&gt;
* You have access to a remote network via ssh.&lt;br /&gt;
&lt;br /&gt;
* You don’t necessarily have admin access on the remote network.&lt;br /&gt;
&lt;br /&gt;
* You don’t want to create an ssh port forward for every single host/port on the remote network.&lt;br /&gt;
&lt;br /&gt;
* You hate openssh’s port forwarding because it’s randomly slow and/or stupid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=How it works &amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/how-it-works.html]&amp;lt;/ref&amp;gt;=&lt;br /&gt;
sshuttle is not exactly a VPN, and not exactly port forwarding. It’s kind of both, and kind of neither.&lt;br /&gt;
&lt;br /&gt;
It’s like a VPN, since it can forward every port on an entire network, not just ports you specify. Conveniently, it lets you use the “real” IP addresses of each host rather than faking port numbers on localhost.&lt;br /&gt;
&lt;br /&gt;
On the other hand, the way it works is more like ssh port forwarding than a VPN. Normally, a VPN forwards your data one packet at a time, and doesn’t care about individual connections; ie. it’s “stateless” with respect to the traffic. sshuttle is the opposite of stateless; it tracks every single connection.&lt;br /&gt;
&lt;br /&gt;
You could compare sshuttle to something like the old Slirp program, which was a userspace TCP/IP implementation that did something similar. But it operated on a packet-by-packet basis on the client side, reassembling the packets on the server side. That worked okay back in the “real live serial port” days, because serial ports had predictable latency and buffering.&lt;br /&gt;
&lt;br /&gt;
But you can’t safely just forward TCP packets over a TCP session (like ssh), because TCP’s performance depends fundamentally on packet loss; it must experience packet loss in order to know when to slow down! At the same time, the outer TCP session (ssh, in this case) is a reliable transport, which means that what you forward through the tunnel never experiences packet loss. The ssh session itself experiences packet loss, of course, but TCP fixes it up and ssh (and thus you) never know the difference. But neither does your inner TCP session, and extremely screwy performance ensues.&lt;br /&gt;
&lt;br /&gt;
sshuttle assembles the TCP stream locally, multiplexes it statefully over an ssh session, and disassembles it back into packets at the other end. So it never ends up doing TCP-over-TCP. It’s just data-over-TCP, which is safe.&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
==Client side Requirements==&lt;br /&gt;
* sudo, or root access on your client machine. (The server doesn’t need admin access.)&lt;br /&gt;
* Python 2.7 or Python 3.5.&amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/requirements.html]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Server side Requirements==&lt;br /&gt;
* Server requirements are more relaxed, however it is recommended that you use Python 2.7 or Python 3.5.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
* From PyPI:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pip install sshuttle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Clone from git:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/sshuttle/sshuttle.git&lt;br /&gt;
./setup.py install&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Installing sshuttle on your Mac:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
brew install sshuttle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
Finally we can get down to actually using sshuttle! It’s flexible enough to do fancier things, for forwarding all traffic basic command looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sshuttle -r username@sshserver 0.0.0.0/0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Use the &amp;lt;code&amp;gt;sshuttle -r&amp;lt;/code&amp;gt; parameter to specify a remote server.&lt;br /&gt;
&lt;br /&gt;
* By default sshuttle will automatically choose a method to use. Override with the &amp;lt;code&amp;gt;sshuttle --method&amp;lt;/code&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
* There is a shortcut for 0.0.0.0/0 for those that value their wrists: &amp;lt;code&amp;gt;sshuttle -r username@sshserver 0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you would also like your DNS queries to be proxied through the DNS server of the server you are connect to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sshuttle --dns -r username@sshserver 0/0&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That’s it! Now your local machine can access the remote network as if you were right there. And if your “client” machine is a router, everyone on your local network can make connections to your remote network.&amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/usage.html]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Conclusion=&lt;br /&gt;
Admittedly, sshuttle takes a bit more work than other solutions to get up and running, but the security it provides gives peace of mind when forced to use insecure Wi-Fi networks.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
;Kirill Trunov C11, Estonian IT College, 08-05-2017&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Ktrunov</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OSadmin_wiki_article&amp;diff=121619</id>
		<title>OSadmin wiki article</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OSadmin_wiki_article&amp;diff=121619"/>
		<updated>2017-05-08T18:19:54Z</updated>

		<summary type="html">&lt;p&gt;Ktrunov: /* Category */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Intro=&lt;br /&gt;
*Choose a topic from personal experience related with the subject or from topics found on the wiki page&lt;br /&gt;
*[[#Chosen_topics|Write the topic here]].&lt;br /&gt;
*Lecturer will confirm the topic&lt;br /&gt;
*Write your article in wiki environment &lt;br /&gt;
*Inform the [[Operating_systems#Lecturer|lecturer]] when the article is finished&lt;br /&gt;
*Receive feedback for corrections&lt;br /&gt;
&lt;br /&gt;
=Requirements for the wiki article=&lt;br /&gt;
Author: name, group and date when the article is written&lt;br /&gt;
&lt;br /&gt;
==Introduction ==&lt;br /&gt;
Covers points what will be discussed in the article, what are the requirements for the article reader; what are the operating system’s requirements. &lt;br /&gt;
&lt;br /&gt;
==Contents==&lt;br /&gt;
All commands should be easily separable from the overall text. &lt;br /&gt;
Users should be able to copy the commands directly (additional info like prompt and user distinction symbols should be left out from the command description area)&lt;br /&gt;
The text should determine what user permissions are needed to perform these tasks. &lt;br /&gt;
The reader of your article is your fellow students, so try to avoid irrelevant information and stay on topic (don’t explain the meaning of IP address or how to install Ubuntu, when your topic is actually about htop)&lt;br /&gt;
All the content should be referenced. &lt;br /&gt;
Do not use slang and try to be grammatically correct.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &lt;br /&gt;
Bear in mind that this is an open environment, so everything you write in your wiki article, will be public. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Referencing==&lt;br /&gt;
Best practises of wiki referencing should be used. &lt;br /&gt;
Terms are but between square brackets to reference other articles in the system.&lt;br /&gt;
All drawing and images have to be referenced below the picture and in the text. (for example “System architecture can be viewed on image x, y and z.”)&lt;br /&gt;
Author’s own ideas have to be clearly presentable. Everything used from the sources have to be referenced. &lt;br /&gt;
&lt;br /&gt;
==Fellow student review==&lt;br /&gt;
Please find a fellow student who will review your article and give a feedback on the discussion tab of the article using [http://enos.itcollege.ee/~edmund/materials/viki-artikkel/Assessment-model-for-the-wiki-article.html the following assessment model].&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Besides a short overview, what was discussed in this article, it should also include the author&#039;s own opinion about the topic. &lt;br /&gt;
&lt;br /&gt;
==Category==&lt;br /&gt;
Add the following category to the end of the article (last row):&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Link title]]=Chosen topics=&lt;br /&gt;
Please write here your topic and name, group:&lt;br /&gt;
* &#039;&#039;&#039;Fedora OS&#039;&#039;&#039;; Anamul Hoque Shihab; CSE-11&lt;br /&gt;
* &#039;&#039;&#039;Basic Automation with Python&#039;&#039;&#039;; Ardi Vaba; CSE-11&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/SSH_Encryption &#039;&#039;&#039;SSH Encryption&#039;&#039;&#039;], Frank Korving, CSE-11&lt;br /&gt;
* &#039;&#039;&#039;Translation of OSadmin wiki help page to English [[https://wiki.itcollege.ee/index.php/Osadmin_spikker]]&#039;&#039;&#039;; Peep Kuulme; CSE-11&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Cross-Site_Scripting_(XSS)_attacks &#039;&#039;&#039;Cross-Site Scripting&#039;&#039;&#039;]; Masaki Ihara; CSE-11&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Auditd &#039;&#039;&#039;Auditd - Linux system monitoring with audit daemon&#039;&#039;&#039;], Nika Ptskialadze, CSE-11&lt;br /&gt;
* &#039;&#039;&#039;GNU Privacy Guard (GnuPG)&#039;&#039;&#039;; Patricia Bruno Barbosa; CSE-11&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/BackBox_OS &#039;&#039;&#039;BackBox OS&#039;&#039;&#039;]; Ats Tootsi; CSE-11&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Apparmor_and_its_usage &#039;&#039;&#039;Apparmor and its usage&#039;&#039;&#039;], Mikus, CSE-11&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Arch_linux &#039;&#039;&#039;Arch Linux&#039;&#039;&#039;];Farhan Nayeem Islam;CSE-C11&lt;br /&gt;
* &#039;&#039;&#039;&#039;VPN (English version)&#039;&#039;&#039;&#039;, Christian Cataldo, CSE-C11; [https://wiki.itcollege.ee/index.php/VPN_(English_version)]&lt;br /&gt;
* &#039;&#039;Translation of DDoS Wiki page[[https://wiki.itcollege.ee/index.php/DDoS_Eng]]&#039;&#039;&#039;; Andris Männik; CSE-11&lt;br /&gt;
*&#039;&#039;&#039;Translation of Ps Wiki page[[https://wiki.itcollege.ee/index.php/Ps]]&#039;&#039;&#039;&#039;&#039;; Christopher Carr; CSE-11&lt;br /&gt;
*&#039;&#039;&#039;Translation of Bash_Shell wiki page[[https://wiki.itcollege.ee/index.php/BASH_shell_en]]&#039;&#039;&#039;; Steven Rugam; CSE-11&lt;br /&gt;
*[[https://wiki.itcollege.ee/index.php/SED_eng &#039;&#039;SED_Stream Editor&#039;&#039;]; Gabriel Adoyi; CSE-11&lt;br /&gt;
*&#039;&#039;&#039;Pass: The Standard Unix Password Manager&#039;&#039;&#039;[[https://wiki.itcollege.ee/index.php/Pass]]; Oliver Rahula; CSE-11&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Rsync_eng &#039;&#039;Rsync&#039;&#039;]; Eriks Ocakovskis; C11&lt;br /&gt;
* &#039;&#039;&#039;Translation of Hotspot[https://wiki.itcollege.ee/index.php/hotspot]&#039;&#039;&#039;; [https://wiki.itcollege.ee/index.php/Setting_up_hotspot &#039;&#039;Setting up Hotspot&#039;&#039;] Sander Valgo C11&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Sshutel &#039;&#039;&#039;Sshuttle&#039;&#039;&#039;], Kirill Trunov, CSE-11&lt;br /&gt;
&lt;br /&gt;
==Ideas==&lt;br /&gt;
&lt;br /&gt;
* UNIX CLI password manager https://www.passwordstore.org and its GUI http://qtpass.org/&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Osadmin_referaadi_teemad counterpart article in Estonian]&lt;br /&gt;
* http://manpage.io&lt;br /&gt;
* https://linuxjourney.com/&lt;br /&gt;
* [https://linux.die.net/man/ Linux man-pages]&lt;br /&gt;
* [https://linux.die.net Linux docs]&lt;br /&gt;
* http://www.tecmint.com/60-commands-of-linux-a-guide-from-newbies-to-system-administrator/&lt;br /&gt;
* http://www.tecmint.com/useful-linux-commands-for-system-administrators/&lt;br /&gt;
* http://www.cyberciti.biz/tips/top-linux-monitoring-tools.html&lt;br /&gt;
* http://www.thegeekstuff.com/2010/12/50-unix-linux-sysadmin-tutorials&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Ktrunov</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Ktrunov&amp;diff=121618</id>
		<title>User:Ktrunov</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Ktrunov&amp;diff=121618"/>
		<updated>2017-05-08T18:18:32Z</updated>

		<summary type="html">&lt;p&gt;Ktrunov: Ktrunov moved page User:Ktrunov to Sshutel&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Sshutel]]&lt;/div&gt;</summary>
		<author><name>Ktrunov</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Sshutel&amp;diff=121617</id>
		<title>Sshutel</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Sshutel&amp;diff=121617"/>
		<updated>2017-05-08T18:18:32Z</updated>

		<summary type="html">&lt;p&gt;Ktrunov: Ktrunov moved page User:Ktrunov to Sshutel&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
Do you ever wanted to use SSH as a VPN? There is little piece of useful utility called [https://sshuttle.readthedocs.io/en/stable/index.html sshuttle] is available to completely turn your SSH connection as VPN. sshuttle is a transparent proxy server that works as a poor man’s VPN over ssh. You don’t need any admin account on your remote system. It supports DNS tunneling and works with Linux and MacOS platforms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The program is suitable for the cases when:&amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/overview.html sshuttle overview]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Your client machine (or router) is Linux, FreeBSD, or MacOS.&lt;br /&gt;
&lt;br /&gt;
* You have access to a remote network via ssh.&lt;br /&gt;
&lt;br /&gt;
* You don’t necessarily have admin access on the remote network.&lt;br /&gt;
&lt;br /&gt;
* You don’t want to create an ssh port forward for every single host/port on the remote network.&lt;br /&gt;
&lt;br /&gt;
* You hate openssh’s port forwarding because it’s randomly slow and/or stupid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=How it works &amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/how-it-works.html]&amp;lt;/ref&amp;gt;=&lt;br /&gt;
sshuttle is not exactly a VPN, and not exactly port forwarding. It’s kind of both, and kind of neither.&lt;br /&gt;
&lt;br /&gt;
It’s like a VPN, since it can forward every port on an entire network, not just ports you specify. Conveniently, it lets you use the “real” IP addresses of each host rather than faking port numbers on localhost.&lt;br /&gt;
&lt;br /&gt;
On the other hand, the way it works is more like ssh port forwarding than a VPN. Normally, a VPN forwards your data one packet at a time, and doesn’t care about individual connections; ie. it’s “stateless” with respect to the traffic. sshuttle is the opposite of stateless; it tracks every single connection.&lt;br /&gt;
&lt;br /&gt;
You could compare sshuttle to something like the old Slirp program, which was a userspace TCP/IP implementation that did something similar. But it operated on a packet-by-packet basis on the client side, reassembling the packets on the server side. That worked okay back in the “real live serial port” days, because serial ports had predictable latency and buffering.&lt;br /&gt;
&lt;br /&gt;
But you can’t safely just forward TCP packets over a TCP session (like ssh), because TCP’s performance depends fundamentally on packet loss; it must experience packet loss in order to know when to slow down! At the same time, the outer TCP session (ssh, in this case) is a reliable transport, which means that what you forward through the tunnel never experiences packet loss. The ssh session itself experiences packet loss, of course, but TCP fixes it up and ssh (and thus you) never know the difference. But neither does your inner TCP session, and extremely screwy performance ensues.&lt;br /&gt;
&lt;br /&gt;
sshuttle assembles the TCP stream locally, multiplexes it statefully over an ssh session, and disassembles it back into packets at the other end. So it never ends up doing TCP-over-TCP. It’s just data-over-TCP, which is safe.&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
==Client side Requirements==&lt;br /&gt;
* sudo, or root access on your client machine. (The server doesn’t need admin access.)&lt;br /&gt;
* Python 2.7 or Python 3.5.&amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/requirements.html]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Server side Requirements==&lt;br /&gt;
Server requirements are more relaxed, however it is recommended that you use Python 2.7 or Python 3.5.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
* From PyPI:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pip install sshuttle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Clone from git:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/sshuttle/sshuttle.git&lt;br /&gt;
./setup.py install&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Installing sshuttle on your Mac:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
brew install sshuttle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
Finally we can get down to actually using sshuttle! It’s flexible enough to do fancier things, for forwarding all traffic basic command looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sshuttle -r username@sshserver 0.0.0.0/0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Use the &amp;lt;code&amp;gt;sshuttle -r&amp;lt;/code&amp;gt; parameter to specify a remote server.&lt;br /&gt;
&lt;br /&gt;
* By default sshuttle will automatically choose a method to use. Override with the &amp;lt;code&amp;gt;sshuttle --method&amp;lt;/code&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
* There is a shortcut for 0.0.0.0/0 for those that value their wrists: &amp;lt;code&amp;gt;sshuttle -r username@sshserver 0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you would also like your DNS queries to be proxied through the DNS server of the server you are connect to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sshuttle --dns -r username@sshserver 0/0&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That’s it! Now your local machine can access the remote network as if you were right there. And if your “client” machine is a router, everyone on your local network can make connections to your remote network.&amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/usage.html]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Conclusion=&lt;br /&gt;
Admittedly, sshuttle takes a bit more work than other solutions to get up and running, but the security it provides gives peace of mind when forced to use insecure Wi-Fi networks.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
;Kirill Trunov C11, Estonian IT College, 08-05-2017&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Ktrunov</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Sshutel&amp;diff=121614</id>
		<title>Sshutel</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Sshutel&amp;diff=121614"/>
		<updated>2017-05-08T18:14:35Z</updated>

		<summary type="html">&lt;p&gt;Ktrunov: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
Do you ever wanted to use SSH as a VPN? There is little piece of useful utility called [https://sshuttle.readthedocs.io/en/stable/index.html sshuttle] is available to completely turn your SSH connection as VPN. sshuttle is a transparent proxy server that works as a poor man’s VPN over ssh. You don’t need any admin account on your remote system. It supports DNS tunneling and works with Linux and MacOS platforms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The program is suitable for the cases when:&amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/overview.html sshuttle overview]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Your client machine (or router) is Linux, FreeBSD, or MacOS.&lt;br /&gt;
&lt;br /&gt;
* You have access to a remote network via ssh.&lt;br /&gt;
&lt;br /&gt;
* You don’t necessarily have admin access on the remote network.&lt;br /&gt;
&lt;br /&gt;
* You don’t want to create an ssh port forward for every single host/port on the remote network.&lt;br /&gt;
&lt;br /&gt;
* You hate openssh’s port forwarding because it’s randomly slow and/or stupid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=How it works &amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/how-it-works.html]&amp;lt;/ref&amp;gt;=&lt;br /&gt;
sshuttle is not exactly a VPN, and not exactly port forwarding. It’s kind of both, and kind of neither.&lt;br /&gt;
&lt;br /&gt;
It’s like a VPN, since it can forward every port on an entire network, not just ports you specify. Conveniently, it lets you use the “real” IP addresses of each host rather than faking port numbers on localhost.&lt;br /&gt;
&lt;br /&gt;
On the other hand, the way it works is more like ssh port forwarding than a VPN. Normally, a VPN forwards your data one packet at a time, and doesn’t care about individual connections; ie. it’s “stateless” with respect to the traffic. sshuttle is the opposite of stateless; it tracks every single connection.&lt;br /&gt;
&lt;br /&gt;
You could compare sshuttle to something like the old Slirp program, which was a userspace TCP/IP implementation that did something similar. But it operated on a packet-by-packet basis on the client side, reassembling the packets on the server side. That worked okay back in the “real live serial port” days, because serial ports had predictable latency and buffering.&lt;br /&gt;
&lt;br /&gt;
But you can’t safely just forward TCP packets over a TCP session (like ssh), because TCP’s performance depends fundamentally on packet loss; it must experience packet loss in order to know when to slow down! At the same time, the outer TCP session (ssh, in this case) is a reliable transport, which means that what you forward through the tunnel never experiences packet loss. The ssh session itself experiences packet loss, of course, but TCP fixes it up and ssh (and thus you) never know the difference. But neither does your inner TCP session, and extremely screwy performance ensues.&lt;br /&gt;
&lt;br /&gt;
sshuttle assembles the TCP stream locally, multiplexes it statefully over an ssh session, and disassembles it back into packets at the other end. So it never ends up doing TCP-over-TCP. It’s just data-over-TCP, which is safe.&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
==Client side Requirements==&lt;br /&gt;
* sudo, or root access on your client machine. (The server doesn’t need admin access.)&lt;br /&gt;
* Python 2.7 or Python 3.5.&amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/requirements.html]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Server side Requirements==&lt;br /&gt;
Server requirements are more relaxed, however it is recommended that you use Python 2.7 or Python 3.5.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
* From PyPI:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pip install sshuttle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Clone from git:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/sshuttle/sshuttle.git&lt;br /&gt;
./setup.py install&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Installing sshuttle on your Mac:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
brew install sshuttle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
Finally we can get down to actually using sshuttle! It’s flexible enough to do fancier things, for forwarding all traffic basic command looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sshuttle -r username@sshserver 0.0.0.0/0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Use the &amp;lt;code&amp;gt;sshuttle -r&amp;lt;/code&amp;gt; parameter to specify a remote server.&lt;br /&gt;
&lt;br /&gt;
* By default sshuttle will automatically choose a method to use. Override with the &amp;lt;code&amp;gt;sshuttle --method&amp;lt;/code&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
* There is a shortcut for 0.0.0.0/0 for those that value their wrists: &amp;lt;code&amp;gt;sshuttle -r username@sshserver 0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you would also like your DNS queries to be proxied through the DNS server of the server you are connect to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sshuttle --dns -r username@sshserver 0/0&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That’s it! Now your local machine can access the remote network as if you were right there. And if your “client” machine is a router, everyone on your local network can make connections to your remote network.&amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/usage.html]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Conclusion=&lt;br /&gt;
Admittedly, sshuttle takes a bit more work than other solutions to get up and running, but the security it provides gives peace of mind when forced to use insecure Wi-Fi networks.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
;Kirill Trunov C11, Estonian IT College, 08-05-2017&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Ktrunov</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Sshutel&amp;diff=121612</id>
		<title>Sshutel</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Sshutel&amp;diff=121612"/>
		<updated>2017-05-08T18:11:07Z</updated>

		<summary type="html">&lt;p&gt;Ktrunov: Created page with &amp;quot;=Introduction= Do you ever wanted to use SSH as a VPN? There is little piece of useful utility called [https://sshuttle.readthedocs.io/en/stable/index.html sshuttle] is availa...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
Do you ever wanted to use SSH as a VPN? There is little piece of useful utility called [https://sshuttle.readthedocs.io/en/stable/index.html sshuttle] is available to completely turn your SSH connection as VPN. sshuttle is a transparent proxy server that works as a poor man’s VPN over ssh. You don’t need any admin account on your remote system. It supports DNS tunneling and works with Linux and MacOS platforms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The program is suitable for the cases when:&amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/overview.html sshuttle overview]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Your client machine (or router) is Linux, FreeBSD, or MacOS.&lt;br /&gt;
&lt;br /&gt;
* You have access to a remote network via ssh.&lt;br /&gt;
&lt;br /&gt;
* You don’t necessarily have admin access on the remote network.&lt;br /&gt;
&lt;br /&gt;
* You don’t want to create an ssh port forward for every single host/port on the remote network.&lt;br /&gt;
&lt;br /&gt;
* You hate openssh’s port forwarding because it’s randomly slow and/or stupid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=How it works &amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/how-it-works.html]&amp;lt;/ref&amp;gt;=&lt;br /&gt;
sshuttle is not exactly a VPN, and not exactly port forwarding. It’s kind of both, and kind of neither.&lt;br /&gt;
&lt;br /&gt;
It’s like a VPN, since it can forward every port on an entire network, not just ports you specify. Conveniently, it lets you use the “real” IP addresses of each host rather than faking port numbers on localhost.&lt;br /&gt;
&lt;br /&gt;
On the other hand, the way it works is more like ssh port forwarding than a VPN. Normally, a VPN forwards your data one packet at a time, and doesn’t care about individual connections; ie. it’s “stateless” with respect to the traffic. sshuttle is the opposite of stateless; it tracks every single connection.&lt;br /&gt;
&lt;br /&gt;
You could compare sshuttle to something like the old Slirp program, which was a userspace TCP/IP implementation that did something similar. But it operated on a packet-by-packet basis on the client side, reassembling the packets on the server side. That worked okay back in the “real live serial port” days, because serial ports had predictable latency and buffering.&lt;br /&gt;
&lt;br /&gt;
But you can’t safely just forward TCP packets over a TCP session (like ssh), because TCP’s performance depends fundamentally on packet loss; it must experience packet loss in order to know when to slow down! At the same time, the outer TCP session (ssh, in this case) is a reliable transport, which means that what you forward through the tunnel never experiences packet loss. The ssh session itself experiences packet loss, of course, but TCP fixes it up and ssh (and thus you) never know the difference. But neither does your inner TCP session, and extremely screwy performance ensues.&lt;br /&gt;
&lt;br /&gt;
sshuttle assembles the TCP stream locally, multiplexes it statefully over an ssh session, and disassembles it back into packets at the other end. So it never ends up doing TCP-over-TCP. It’s just data-over-TCP, which is safe.&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
==Client side Requirements==&lt;br /&gt;
* sudo, or root access on your client machine. (The server doesn’t need admin access.)&lt;br /&gt;
* Python 2.7 or Python 3.5.&amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/requirements.html]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Server side Requirements==&lt;br /&gt;
Server requirements are more relaxed, however it is recommended that you use Python 2.7 or Python 3.5.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
* From PyPI:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pip install sshuttle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Clone from git:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/sshuttle/sshuttle.git&lt;br /&gt;
./setup.py install&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Installing sshuttle on your Mac:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
brew install sshuttle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
Finally we can get down to actually using sshuttle! It’s flexible enough to do fancier things, for forwarding all traffic basic command looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sshuttle -r username@sshserver 0.0.0.0/0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Use the &amp;lt;code&amp;gt;sshuttle -r&amp;lt;/code&amp;gt; parameter to specify a remote server.&lt;br /&gt;
&lt;br /&gt;
* By default sshuttle will automatically choose a method to use. Override with the &amp;lt;code&amp;gt;sshuttle --method&amp;lt;/code&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
* There is a shortcut for 0.0.0.0/0 for those that value their wrists: &amp;lt;code&amp;gt;sshuttle -r username@sshserver 0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you would also like your DNS queries to be proxied through the DNS server of the server you are connect to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sshuttle --dns -r username@sshserver 0/0&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That’s it! Now your local machine can access the remote network as if you were right there. And if your “client” machine is a router, everyone on your local network can make connections to your remote network.&amp;lt;ref&amp;gt;[https://sshuttle.readthedocs.io/en/stable/usage.html]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Admittedly, sshuttle takes a bit more work than other solutions to get up and running, but the security it provides gives peace of mind when forced to use insecure Wi-Fi networks.&lt;br /&gt;
&lt;br /&gt;
=Autor=&lt;br /&gt;
;Kirill Trunov C11, Estonian IT College, 08-05-2017&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Ktrunov</name></author>
	</entry>
</feed>