GitHub PullRequestReviewCommentEvent at 2014-03-08 17:32:24
Repository: curriculum
Actor: miketheman
Payload: {"comment":{"url":"https://api.github.com/repos/opsschool/curriculum/pulls/comments/10409966","id":10409966,"diff_hunk":"@@ -531,6 +531,54 @@ further.\n Mosh\n ====\n \n+Mosh (MObile SHell) is an alternative to remote shell commands, such as ``ssh``\n+or ``rsh``. The beauty of the mosh protocol is that it supports intermittent\n+connectivity without killing the remote session. You can start a ``mosh``\n+session just like you would with ``ssh`` on one side of town with one IP address,\n+shut your laptop and go home, then open your laptop and connect back to your mosh\n+session like it was never interrupted. Also, if your wifi is spotty or internet\n+connection is intermittent, ``mosh`` doesnt break the session when the connection\n+drops out, unlike ``ssh``. Mosh does not wait for the remote server to confirm\n+each keystroke before displaying it to a terminal. Instead, it displays the typed\n+characters locally and confirms entry on the remote end. There are packages\n+available for GNU/Linux, FreeBSD, Solaris, Mac OS X, Chrome and even Android apps.\n+\n+Mosh must be installed on both the client and remote server. When a session\n+is started it spins up a mosh-server and a local mosh-client process. It can\n+be installed in a home directory without privileged access. Mosh respects\n+your current ``~/.ssh/config`` so migrating from ``ssh`` to ``mosh`` is\n+relatively seamless.\n+\n+The Mosh protocol is based on UDP packets compared to the ssh protocol that uses\n+TCP packets. Mosh utilizes SSP or State Syncronization Protocol to transmit\n+data between the client and server. Both the client and the server keep a running\n+copy of the current running session.\n+\n+While ``ssh`` has been around long enough to have time tested security,\n+``mosh`` is relatively new and has not been through the same extensive testing.\n+Mosh does tunnel traffic encrypted with AES-128 in OES mode, however mosh hasn't\n+been under the security spotlight as long as ssh has.\n+\n+Examples\n+~~~~~~~~\n+\n+Mosh works just like ssh:\n+\n+``mosh username@remoteserver.org``\n+\n+You can also have mosh utilize ssh style commands such as:\n+\n+``mosh username@remoteserver.org --ssh=\"ssh -i ~/.ssh/identity_file\"``\n+\n+That specifies the private key to use to authenticate with the remove server.\n+\n+``mosh username@remoteserver.org --ssh=\"ssh -p 1234\"``\n+\n+That tells mosh to connect via the ssh port 1234 on the remote server, where\n+ssh normally runs on port 22.","path":"sysadmin_tools.rst","position":48,"original_position":48,"commit_id":"fb2fc144af99f039983cda2eb963995d9d9f7f0b","original_commit_id":"fb2fc144af99f039983cda2eb963995d9d9f7f0b","user":{"login":"miketheman","id":529516,"avatar_url":"https://gravatar.com/avatar/fd9f2db04817cb74f6a37c48947f3e8c?d=https%3A%2F%2Fidenticons.github.com%2Fad3a98ee373651404a7aea2307dbcd82.png&r=x","gravatar_id":"fd9f2db04817cb74f6a37c48947f3e8c","url":"https://api.github.com/users/miketheman","html_url":"https://github.com/miketheman","followers_url":"https://api.github.com/users/miketheman/followers","following_url":"https://api.github.com/users/miketheman/following{/other_user}","gists_url":"https://api.github.com/users/miketheman/gists{/gist_id}","starred_url":"https://api.github.com/users/miketheman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/miketheman/subscriptions","organizations_url":"https://api.github.com/users/miketheman/orgs","repos_url":"https://api.github.com/users/miketheman/repos","events_url":"https://api.github.com/users/miketheman/events{/privacy}","received_events_url":"https://api.github.com/users/miketheman/received_events","type":"User","site_admin":false},"body":"It's more common to place the description of an example prior to showing the code.\r\n\r\nAlso, please refer to the Style Guide as how to display shell commands.","created_at":"2014-03-08T17:32:24Z","updated_at":"2014-03-08T17:32:24Z","html_url":"https://github.com/opsschool/curriculum/pull/215#discussion_r10409966","pull_request_url":"https://api.github.com/repos/opsschool/curriculum/pulls/215","_links":{"self":{"href":"https://api.github.com/repos/opsschool/curriculum/pulls/comments/10409966"},"html":{"href":"https://github.com/opsschool/curriculum/pull/215#discussion_r10409966"},"pull_request":{"href":"https://api.github.com/repos/opsschool/curriculum/pulls/215"}}}}