adamsgaard.dk

my academic webpage
git clone git://src.adamsgaard.dk/adamsgaard.dk # fast
git clone https://src.adamsgaard.dk/adamsgaard.dk.git # slow
Log | Files | Refs | README | LICENSE Back to index

commit 65b18f20bc2ade25e39e73eba31e742ebb5931c6
parent aee9726f65f6c76cba4af628da15b41f52344e69
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date:   Fri, 11 Dec 2020 17:13:42 +0100

add post on ssh tunnels and delay commsenv post

Diffstat:
Apages/007-ssh-tunnels.cfg | 7+++++++
Apages/007-ssh-tunnels.html | 144+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apages/007-ssh-tunnels.txt | 136+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apages/008-commsenv.cfg | 7+++++++
Apages/008-commsenv.html | 72++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apages/008-commsenv.txt | 70++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 436 insertions(+), 0 deletions(-)

diff --git a/pages/007-ssh-tunnels.cfg b/pages/007-ssh-tunnels.cfg @@ -0,0 +1,7 @@ +filename=ssh-tunnels.html +title=No VPN? No problem! Using SSH tunnels for remote access to closed networks +description=Here I illustrate ssh-based solutions to various tasks requiring access to a remote network +id=ssh-tunnels +tags=ssh, vpn +created=2020-12-11 +updated=2020-12-11 diff --git a/pages/007-ssh-tunnels.html b/pages/007-ssh-tunnels.html @@ -0,0 +1,144 @@ +<h2>Rationale</h2> + +<p>Corporate and academic networks are closed by design, with routers +and firewalls forwarding and filtering content going to and from +the wider internet. For security reasons this is an absolute +necessity, as the guardkeeping prevents unwanted incoming connections +to the networked devices.</p> + +<p>However, it is often necessary to connect to internal devices or +services from the outside. This could be the case if an employee +needs to access a shared database on the company network, or a +subscription website only allows full access from a certain range +of IP addresses. Network administrators usually offer virtual +private network (VPN) access to achieve such goals. Unfortunately, +VPN access occasionally requires particular software that may not +work on all operating systems. In other cases, the network +administrators may enforce strict requirements to the remote systems +before allowing VPN access.</p> + +<pre><code> ###### Closed Network ###### + # # + # +----------+ +----------+ +----------+ + # | Office | | Router/ | ? | Outside | + # | Computer |<~~~~>| Firewall | ? ? | Computer | + # +----------+ +----------+ +----------+ + # # + ############################ +</code></pre> + +<p>So what do you do if you need outside access to a network, have no +administrative rights over the router and firewall, and cannot (or +don't want to) access via VPN? Fortunately, OpenSSH, the widely +used secure shell (SSH) implementation, offers simple and secure +solutions to this problem. Almost all Linux/BSD/UNIX/MacOS systems +come with OpenSSH preinstalled, so you might already have it on +your system.</p> + +<p>If you can access the closed network from the outside via SSH, this +makes things straightforward as described in Scenario 1 below. If +not, see Scenario 2.</p> + + +<h2>Scenario 1: SSH access available from the outside</h2> + +<p>Some networks are configured to allow outsiders to connect to an +internal SSH server through port forwarding on the network router:</p> + +<pre><code> ###### Closed Network ###### + # # + # +----------+ +----------+ +----------+ + # | Office | SSH | Router/ | SSH | Outside | + # | Computer |<~~~~~| Firewall |<~~~~~| Computer | + # +----------+ +----------+ +----------+ + # # + ############################ +</code></pre> + +<p>For the purposes described here, this is an ideal situation since +it is easy to create a tunnel that connects the outside computer +with the internal network via SSH. The following command creates +the tunnel:</p> + +<pre><code>ssh -D 1337 -C -N company-domain.com +</code></pre> + +<p>Note that the port number specified with the -D option should be +greater than 1000 when running as an unpriviledged (non-root) user. +The -C option turns on compression, which is useful for slow network +connections at the cost of little CPU overhead.</p> + +<p>With the SSH tunnel in place, you can make most webbrowsers and +other network programs on the outside computer use the tunnel for +all their network traffic by pointing them to the SOCKSv5 proxy +"socks://localhost:1337". This allows access from programs on the +outside computer to any device within the closed network. Connections +to the wider internet utilizing the tunnel will originate from an +IP address associated with the closed network, achieving the +objectives stated above.</p> + + +<h2>Scenario 2: SSH access unavailable from the outside</h2> + +<p>Unfortunately, outside SSH access to corporate networks is becoming +increasingly rare. However, the OpenSSH toolset again offers a +solution if you have a persistent SSH server outside of the network +at your disposal:</p> + +<pre><code> ###### Closed Network ###### + # # + # +----------+ +----------+ +---------+ +---------+ + # | Office | SSH | Router/ | SSH | Outside | SSH | Outside | + # | Computer |<~~~~>| Firewall |<~~~~>| Server |<~~~~~| Laptop | + # +----------+ +----------+ +---------+ +---------+ + # # + ############################ +</code></pre> + +<p>As long as you can initiate *outgoing* SSH connections from inside +the closed network to your outside SSH server, you can create a +reverse ssh tunnel and utilize it in a similar manner as in the +previous scenario. On the office computer, create a reverse tunnel +to the outside server:</p> + +<pre><code>ssh -f -N -R 10022:localhost:22 outside-server.com +</code></pre> + +<p>As long as the above command runs, you can initiate new SSH connections +from the outside server to the office computer with the command +`ssh -p 10022 localhost`. If you're working from an outside laptop, +you can utilize this reverse tunnel to connect to the office computer +and network. Add the following configuration to `~/.ssh/config` +on the outside laptop:</p> + +<pre><code>Host office_computer + ProxyCommand ssh -q outside-server.com nc localhost 10022 +</code></pre> + +<p>With the above configuration, it is very easy to establish a SSH +connection from the outside laptop to the office computer:</p> + +<pre><code>ssh office_computer +</code></pre> + +<p>As in the previous exapmle, you can use this setup to create a SSH +tunnel all the way from outside laptop to the office computer:</p> + +<pre><code>ssh -D 1337 -C -N office_computer +</code></pre> + +<p>Again, this creates a SOCKSv5 proxy that you can use for tunneling +network traffic from the outside laptop to the closed network. It +is useful to automatically monitor the tunnel status using pgrep(1), +and reinitialize it if the ssh command unexpectedly quits.</p> + + +<h2>References</h2> + +<ul> +<li>OpenSSH: <a href="https://www.openssh.com/">https://www.openssh.com/</a></li> +<li>ssh(1) manual page: <a href="https://man.openbsd.org/ssh">https://man.openbsd.org/ssh</a></li> +<li>gramscii(1), used for drawings in this post: git://bitreich.org/gramscii</li> +</ul> + +<p>Thanks to KatolaZ for feedback on this post.</p> diff --git a/pages/007-ssh-tunnels.txt b/pages/007-ssh-tunnels.txt @@ -0,0 +1,136 @@ +# NO VPN? NO PROBLEM! USING SSH TUNNELS FOR REMOTE ACCESS TO CLOSED NETWORKS + +## Rationale + +Corporate and academic networks are closed by design, with routers +and firewalls forwarding and filtering content going to and from +the wider internet. For security reasons this is an absolute +necessity, as the guardkeeping prevents unwanted incoming connections +to the networked devices. + +However, it is often necessary to connect to internal devices or +services from the outside. This could be the case if an employee +needs to access a shared database on the company network, or a +subscription website only allows full access from a certain range +of IP addresses. Network administrators usually offer virtual +private network (VPN) access to achieve such goals. Unfortunately, +VPN access occasionally requires particular software that may not +work on all operating systems. In other cases, the network +administrators may enforce strict requirements to the remote systems +before allowing VPN access. + + ###### Closed Network ###### + # # + # +----------+ +----------+ +----------+ + # | Office | | Router/ | ? | Outside | + # | Computer |<~~~~>| Firewall | ? ? | Computer | + # +----------+ +----------+ +----------+ + # # + ############################ + +So what do you do if you need outside access to a network, have no +administrative rights over the router and firewall, and cannot (or +don't want to) access via VPN? Fortunately, OpenSSH, the widely +used secure shell (SSH) implementation, offers simple and secure +solutions to this problem. Almost all Linux/BSD/UNIX/MacOS systems +come with OpenSSH preinstalled, so you might already have it on +your system. + +If you can access the closed network from the outside via SSH, this +makes things straightforward as described in Scenario 1 below. If +not, see Scenario 2. + + +## Scenario 1: SSH access available from the outside + +Some networks are configured to allow outsiders to connect to an +internal SSH server through port forwarding on the network router: + + ###### Closed Network ###### + # # + # +----------+ +----------+ +----------+ + # | Office | SSH | Router/ | SSH | Outside | + # | Computer |<~~~~~| Firewall |<~~~~~| Computer | + # +----------+ +----------+ +----------+ + # # + ############################ + +For the purposes described here, this is an ideal situation since +it is easy to create a tunnel that connects the outside computer +with the internal network via SSH. The following command creates +the tunnel: + + ssh -D 1337 -C -N company-domain.com + +Note that the port number specified with the -D option should be +greater than 1000 when running as an unpriviledged (non-root) user. +The -C option turns on compression, which is useful for slow network +connections at the cost of little CPU overhead. + +With the SSH tunnel in place, you can make most webbrowsers and +other network programs on the outside computer use the tunnel for +all their network traffic by pointing them to the SOCKSv5 proxy +"socks://localhost:1337". This allows access from programs on the +outside computer to any device within the closed network. Connections +to the wider internet utilizing the tunnel will originate from an +IP address associated with the closed network, achieving the +objectives stated above. + + +## Scenario 2: SSH access unavailable from the outside + +Unfortunately, outside SSH access to corporate networks is becoming +increasingly rare. However, the OpenSSH toolset again offers a +solution if you have a persistent SSH server outside of the network +at your disposal: + + ###### Closed Network ###### + # # + # +----------+ +----------+ +---------+ +---------+ + # | Office | SSH | Router/ | SSH | Outside | SSH | Outside | + # | Computer |<~~~~>| Firewall |<~~~~>| Server |<~~~~~| Laptop | + # +----------+ +----------+ +---------+ +---------+ + # # + ############################ + +As long as you can initiate *outgoing* SSH connections from inside +the closed network to your outside SSH server, you can create a +reverse ssh tunnel and utilize it in a similar manner as in the +previous scenario. On the office computer, create a reverse tunnel +to the outside server: + + ssh -f -N -R 10022:localhost:22 outside-server.com + +As long as the above command runs, you can initiate new SSH connections +from the outside server to the office computer with the command +`ssh -p 10022 localhost`. If you're working from an outside laptop, +you can utilize this reverse tunnel to connect to the office computer +and network. Add the following configuration to `~/.ssh/config` +on the outside laptop: + + Host office_computer + ProxyCommand ssh -q outside-server.com nc localhost 10022 + +With the above configuration, it is very easy to establish a SSH +connection from the outside laptop to the office computer: + + ssh office_computer + +As in the previous exapmle, you can use this setup to create a SSH +tunnel all the way from outside laptop to the office computer: + + ssh -D 1337 -C -N office_computer + +Again, this creates a SOCKSv5 proxy that you can use for tunneling +network traffic from the outside laptop to the closed network. It +is useful to automatically monitor the tunnel status using pgrep(1), +and reinitialize it if the ssh command unexpectedly quits. + + +References: + +- OpenSSH: https://www.openssh.com/ +- ssh(1) manual page: https://man.openbsd.org/ssh +- gramscii(1), used for drawings in this post: git://bitreich.org/gramscii + +Thanks to KatolaZ for feedback on this post. diff --git a/pages/008-commsenv.cfg b/pages/008-commsenv.cfg @@ -0,0 +1,7 @@ +filename=commsenv.html +title=New paper out on the coupled dynamics of ice, meltwater, and till +description=A brief summary of my new paper published in Communications Earth & Environment +id=commsenv +tags=science, glaciology, ice sheet +created=2020-12-09 +updated=2020-12-09 diff --git a/pages/008-commsenv.html b/pages/008-commsenv.html @@ -0,0 +1,72 @@ +<p>The majority of glaciers and ice sheets flow on a bed of loose +and thawed sediments. These sediments are weakened by pressurized +glacial meltwater, and their lubrication accelerates the ice movement. +In formerly-glaciated areas of the world, for example Northern +Europe, North America, and in the forelands of the Alps, the landscape +is reshaped and remolded by past ice moving the sediments along +with its flow. The sediment movement is also observed under current +glaciers, both the fast-moving ice streams of the Greenland and +Antarctic ice sheets, as well as smaller glaciers in the mountainous +areas of Alaska, northern Sweden, and elsewhere. The movement of +sediment could be important for the past progression of glaciations, +and how resilient marine-terminating ice streams are against sea-level +rise.</p> + +<p>Today, the Nature-group journal <a +href="https://www.nature.com/commsenv/">Communications Earth &amp; +Environment</a> published my paper on sediment beneath ice. Together +with co-authors Liran Goren, University of the Negev (Israel), and +Jenny Suckale, Stanford University (California, USA), we present a +new computer model that simulates the coupled mechanical behavior +of ice, sediment, and meltwater. We calibrate the model against +real materials, and provide a way forward for including sediment +transport in ice-flow models. We also show that water-pressure +variations with the right frequency can create create very weak +sections inside the bed, and this greatly enhances sediment transport. +I designed the freely-available program <a +href="https://src.adamsgaard.dk/cngf-pf">cngf-pf</a> for the +simulations.</p> + +<h2>Abstract</h2> +<blockquote> +<b>Water pressure fluctuations control variability in sediment flux +and slip dynamics beneath glaciers and ice streams</b> +<br><br> +Rapid ice loss is facilitated by sliding over beds consisting of +reworked sediments and erosional products, commonly referred to as +till. The dynamic interplay between ice and till reshapes the bed, +creating landforms preserved from past glaciations. Leveraging the +imprint left by past glaciations as constraints for projecting +future deglaciation is hindered by our incomplete understanding of +evolving basal slip. Here, we develop a continuum model of +water-saturated, cohesive till to quantify the interplay between +meltwater percolation and till mobilization that governs changes +in the depth of basal slip under fast-moving ice. Our model explains +the puzzling variability of observed slip depths by relating localized +till deformation to perturbations in pore-water pressure. It +demonstrates that variable slip depth is an inherent property of +the ice-meltwater-till system, which could help understand why some +paleo-landforms like grounding-zone wedges appear to have formed +quickly relative to current till-transport rates. +</blockquote> + +<h2>Metrics</h2> +<p>It is a substantial task to prepare a scientific publication. The +commit counts below mark the number of revisions done during +preparation of this paper:</p> + +<ul> + <li>Main article text: 239 commits</li> + <li>Supplementary information text: 35 commits</li> + <li>Experiments and figures: 282 commits</li> + <li>Simulation software: 354 commits</li> +</ul> + +<h2>Links and references:</h2> +<ul> + <li><a href="">Publication on journal webpage</a></li> + <li><a href="">Article PDF</a> (?? MB)</li> + <li><a href="">Supplementary information PDF</a> (?? MB)</li> + <li><a href="https://src.adamsgaard.dk/cngf-pf-exp1">Source code for producing figures</a></li> + <li><a href="https://src.adamsgaard.dk/cngf-pf">Simulation software</a></li> +</ul> diff --git a/pages/008-commsenv.txt b/pages/008-commsenv.txt @@ -0,0 +1,70 @@ +The majority of glaciers and ice sheets flow on a bed of loose and +thawed sediments. These sediments are weakened by pressurized glacial +meltwater, and their lubrication accelerates the ice movement. In +formerly-glaciated areas of the world, for example Northern Europe, +North America, and in the forelands of the Alps, the landscape is +reshaped and remolded by past ice moving the sediments along with +its flow. The sediment movement is also observed under current +glaciers, both the fast-moving ice streams of the Greenland and +Antarctic ice sheets, as well as smaller glaciers in the mountainous +areas of Alaska, northern Sweden, and elsewhere. The movement of +sediment could be important for the past progression of glaciations, +and how resilient marine-terminating ice streams are against sea-level +rise. + +Today, the Nature-group journal Communications Earth & Environment +published my paper on sediment beneath ice. Together with co-authors +Liran Goren, University of the Negev (Israel), and Jenny Suckale, +Stanford University (California, USA), we present a new computer +model that simulates the coupled mechanical behavior of ice, sediment, +and meltwater. We calibrate the model against real materials, and +provide a way forward for including sediment transport in ice-flow +models. We also show that water-pressure variations with the right +frequency can create create very weak sections inside the bed, and +this greatly enhances sediment transport. I designed the freely-available +program cngf-pf for the simulations. + + +## Abstract + + Water pressure fluctuations control variability in sediment + flux and slip dynamics beneath glaciers and ice streams + + Rapid ice loss is facilitated by sliding over beds consisting + of reworked sediments and erosional products, commonly referred + to as till. The dynamic interplay between ice and till reshapes + the bed, creating landforms preserved from past glaciations. + Leveraging the imprint left by past glaciations as constraints + for projecting future deglaciation is hindered by our incomplete + understanding of evolving basal slip. Here, we develop a continuum + model of water-saturated, cohesive till to quantify the interplay + between meltwater percolation and till mobilization that governs + changes in the depth of basal slip under fast-moving ice. Our + model explains the puzzling variability of observed slip depths + by relating localized till deformation to perturbations in + pore-water pressure. It demonstrates that variable slip depth + is an inherent property of the ice-meltwater-till system, which + could help understand why some paleo-landforms like grounding-zone + wedges appear to have formed quickly relative to current + till-transport rates. + + +## Metrics + +It is a substantial task to prepare a scientific publication. The +commit counts below mark the number of revisions done during +preparation of this paper: + + - Main article text: 239 commits + - Supplementary information text: 35 commits + - Experiments and figures: 282 commits + - Simulation software: 354 commits + + +## Links and references: + + - Publication on journal webpage: + - Article PDF (?? MB): + - Supplementary information PDF (?? MB): + - Source code for producing figures: git://src.adamsgaard.dk/cngf-pf-exp1 + - Simulation software: git://src.adamsgaard.dk/cngf-pf