Home
Add Document
Sign In
Create An Account
client in erlang
Download PDF
Comment
Report
0 Downloads
72 Views
SSH SERVER/CLIENT IN ERLANG
Milad Rastian twitter/github: @slashmili High Mobility Developer Platform for Connected Cars
Quick Overview
What is SSH?
http://ssh-comparison.quendi.de/
SSH Protocol User terminal
Shell
SSH agent
Agent socket
SSH client
SSH server User key Password
Public key Password
SSH Protocol User terminal
Shell
SSH agent
Agent socket
SSH client
SSH server User key Password
Public key Password
SSH Protocol User terminal
Shell
SSH agent
Agent socket
SSH client
SSH server User key Password
Public key Password
SSH user@host ls /etc/
What is SSH again?
History of SSH
1995 SSH1
1999 OpenSSH
2006 SSH-2
History of SSH
1986 Erlang
1995 SSH1
1999 OpenSSH
2006 SSH-2
Cryptography 101
En/Decryption
plaintext
cipher(key)
ciphertext
Encryption algorithms
Symmetric
Asymmetric
Encryption using both technique Alice
Bob random key(bulk key)
Encrypt the plain text(cipher text)
Encrypt bulk key by Bob’s public key
Encrypted bulk key + cipher text
Diffie-Hellman Alice
Bob Common point
Secret colors
Public transport
Secret colors
Common point
The Architecture of an SSH System Session Client
User key
Server
Session key
Host key
Establishing the Secure Connection Client
Server Opens TCP connection SSH-2.0-Erlang/4.6.4 SSH-2.0-OpenSSH_7.2p2 Send a large random prime number and list of supported features
Use the prime number to create a temporary key pair
Sends its temporary public key Sends its temporary public key
Uses its own private key and others party public key to create session key
Client Authentication • Password authentication • Public-Key authentication
Client Authentication Public-Key authentication
Client
Server Sends ID for the key pair
Generates random bit as challenge and encrypted Decrypt it using its private key and send it back to server OK
SSH Channel Client
Server
SSH agent
Agent socket
X11 forward
X Server
Local forward
TCP connection
TCP connection
Remote Forward
Exec
Exec
Session exec SCP
Filesystem
Session SFTP
Filesystem
User terminal
Session shell
Setting up Server Keys
http://bit.ly/why-choose-ecdsa
Application List
Basic SSH Server
Basic SSH Server
Basic SSH Server with Public Key
Basic SSH Server with Public Key
SSH Server with callbacks
SSH Server with callbacks
SSH Server with Elixir Shell
SSH Server with Elixir Shell
SSH Server with Custom Public Key backend Client
Server ssh user@host with public key X OK/Not Ok
SSH key storage
d n a ? e tc h m a a n ym r e e s u ck s I bli pu o /N s Ye
SSH Server with Custom Public Key backend
SSH Server with Custom Public Key backend
SSH @ssh-talk.xyz
Simple Git Server
https://github.com/slashmili/gixir-server
SSH Client using password
SSH Client using Public Key
SSH Subsystem
SSH Server/Client with subsystem
SSH Server/Client with subsystem
Read more
•SSH, The Secure Shell: The Definitive Guide •http://erlang.org/doc/man/ssh.html •https://github.com/jbenden/esshd •https://github.com/bitcrowd/sshkit.ex •https://github.com/drowzy/ssh_tunnel
THANK YOU
Recommend Documents
Page 1 ERLANG ERLANG - - - - - - - - - - - - - - - - - s
erlang based
Edis: Implementing Redis in Erlang - inaka
Refactoring Support for Modularity Maintenance in Erlang
×
Report client in erlang
Your name
Email
Reason
-Select Reason-
Pornographic
Defamatory
Illegal/Unlawful
Spam
Other Terms Of Service Violation
File a copyright complaint
Description
×
Sign In
Email
Password
Remember me
Forgot password?
Sign In
Login with Facebook
Our partners will collect data and use cookies for ad personalization and measurement.
Learn how we and our ad partner Google, collect and use data
.
Agree & Close