Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
SSH That Wonderful Thing
Search
Marc Cluet
June 09, 2013
Technology
110
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SSH That Wonderful Thing
Marc Cluet
June 09, 2013
More Decks by Marc Cluet
See All by Marc Cluet
FOSDEM'14 - Autoscaling Best Practices
lynxman
1
130
A metadata ocean in Chef and Puppet
lynxman
0
70
Rackspace Hack Night - Vagrant & Packer
lynxman
0
170
Innovation in the Cloud - Rackspace Zurich Event
lynxman
0
110
Introduction to DevOps - Rackspace Tech Night
lynxman
1
90
Introduction To Hadoop
lynxman
1
130
Hadoop Operations
lynxman
0
130
Networking & DNS 101
lynxman
0
110
Juju and Puppet - Rapid Harmonious Deployment
lynxman
0
120
Other Decks in Technology
See All in Technology
安心して変更できるWebフロントエンドの作り方
pirosikick
5
2.7k
Genieを崇めよ
kameitomohiro
0
160
ADKで始める業務改善 - AIエージェント開発時の考えと設計
harappa80
2
160
OpenTelemetry eBPF Instrumentationの舞台裏 / Behind the Scenes of OpenTelemetry eBPF Instrumentation
ymotongpoo
4
1.3k
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
140
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
1
2.8k
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
1.7k
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
2
940
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
130
エージェントはローカル、検証はMicroVM — Lambda MicroVMsでつくるServerless CI
fujioka6789
2
130
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
110
え、こんなに早く改修できるの?──新人エンジニアとスクラムマスターの2人が語る、AI×アジャイル開発の現場
ysasago
1
170
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
4
3.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Bash Introduction
62gerente
615
220k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
360
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Google's AI Overviews - The New Search
badams
0
1.6k
Building Adaptive Systems
keathley
44
3.2k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
510
Producing Creativity
orderedlist
PRO
348
41k
Speed Design
sergeychernyshev
33
2.1k
The Language of Interfaces
destraynor
162
27k
Scaling GitHub
holman
464
140k
Transcript
Marc Cluet – Lynx Consultants How I learned to
stop worrying and love the shell
What we’ll cover? ¡ Understand how SSH works ¡
Get a clear picture of how ssh bastion hosts work ¡ Be able to do more awesome stuff with SSH! Lynx Consultants © 2013
What is SSH? ¡ Secure Shell (SSH) is a cryptographic
network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client (running SSH server and SSH client programs, respectively).[1] The protocol specification distinguishes two major versions that are referred to as SSH-‐1 and SSH-‐2…. *whew* Lynx Consultants © 2013
But really, what is SSH? ¡ SSH opens a terminal
connection to a remote host ¡ It does so using cryptography to avoid any break or leak in communication ¡ It is a very powerful tool for remote execution ¡ It is awesome! Lynx Consultants © 2013
How does SSH create a connection? ¡ You run your
SSH command ssh user@host ¡ SSH client connects to host ¡ SSH client negotiates with host crypto and version ¡ SSH host requests authentication (password, certificates) ¡ SSH client replies with the crypto challenge ¡ Communication is open! Lynx Consultants © 2013
Authentication methods ¡ Password § Typical manual password
§ Turing keyboard test ¡ Certificates § Public Key certificates (RSA1, RSA, DSA, GSS) § Host-‐based certificates Lynx Consultants © 2013
Certificates ¡ A certificate ensures your identity by providing a
crypto key divided in public and private parts (asymmetric cryptography) ¡ A public crypto key can be shared and is mathematically linked to the private key ¡ A private key shouldn’t be shared and is able to unlock and decipher the ciphertext Lynx Consultants © 2013
Certificates ¡ A certificate can be generated for each host
or group of hosts you want to access ¡ Each certificate can and should be protected by a password for extra security ¡ Certificates are easy to revoke, so in case of any incident a new certificate can be generated Lynx Consultants © 2013
Certificates ¡ Run the command § ssh-‐keygen –t rsa
~/.ssh/id_foryournetwork ¡ This will create a unique certificate for network hosts ¡ All your other hosts or keys (github, etc) are safely different Lynx Consultants © 2013
Security risks of running an infrastructure ¡ If we leave
password authentication open we’re subject to dictionary attacks § The whole system strength is defined by the weakest password ¡ Each host that has ssh open is another security risk ¡ All this can be resolved by Bastion Hosts! Lynx Consultants © 2013
What is a Bastion Host? Lynx Consultants © 2013
What is a Bastion Host? ¡ A Bastion Host sits
between two networks, one trusted and one untrusted ¡ It regulates traffic between those networks, highlighting any malicious traffic and refusing it ¡ It is the first line of defence in a system Lynx Consultants © 2013
SSH Configuration ¡ Here’s an example # Config to
access bastion host! Host bastionhost! !User myuser! !IdentityFile ~/.ssh/id_mynetwork! !Hostname 1.2.3.4! Lynx Consultants © 2013
How to Diagnose connections ¡ Always run ssh –v (-‐v
for verbose) ¡ Make sure you test each point of your connection Lynx Consultants © 2013
How to Diagnose connections ¡ Always run ssh –v (-‐v
for verbose) ¡ Make sure you test each point of your connection § First bastion host § Then proceed further up ¡ Regular issues § Lack of Certificate § DNS problem § Internets is broken Lynx Consultants © 2013
Awesome Stuff – Port Redirection ¡ You can redirect a
port from your machine to the remote host or the other way around § -‐L myport:destination:destport ▪ Forwards a connection made to localhost 8080 to myhost port 80 (-‐ L 8080:myhost:80) Lynx Consultants © 2013
Awesome Stuff – Port Redirection ¡ You can redirect a
port from your machine to the remote host or the other way around § -‐R remoteport:destination:destport ▪ Forwards a connection made to destination port 8080 to localhost port 80 (-‐R 80:myhost:8080) Lynx Consultants © 2013
Awesome Stuff – Socks Proxy ¡ You can create a
SOCKS Proxy transparently with SSH § This will allow you to navigate the remote network as if it was your own ¡ ssh –D2222 user@myhost ¡ Configure your browser to use a SOCKS proxy at localhost port 2222 ¡ Navigate to all internal network pages! Lynx Consultants © 2013
Questions? Lynx Consultants © 2013