I'm currently on an airplane, using mosh to connect to several servers back on the ground.
I originally started the sessions while on my tethered mobile phone connection and as soon as I connected to the in-flight WiFi the sessions reconnected seamlessly. Even though the links have more than 800 ms (!) of latency, the sessions feel responsive due to the local echo. Plus, if I send a ^C
, it actually works :D
I've been using this now for around a year exclusively. It's one of the best pieces of software I've had the pleasure of using.
The research paper and video found here are fascinating!
The only caveat is that there is no scrollback like a typical xterm. You will need to use a tmux session (or similar) on the server to get scrollback. I haven't found this to be too much of a burden.
This is the chrome app I used: Secure Shell
My previous post detailed how to setup the SSH server, though I have since installed DF hack as well. I wanted to have the labor manager it comes with. :) I was also able to get LNP working via a remote X call server, but it is much slower than console.
Edit: Some performance notes. My FPS is pretty good on the server, and it only uses about 1GB of RAM. The delay is about a quarter to half second. Not really noticeable. It's taking a bit to get used to the ASCII graphics, but otherwise is awesome. Got a bluetooth keyboard for my phone coming in. Unfortunately the default android mono spaced font has emojis which are not mono spaced. So. Stupid.
> I use tmux when I ssh into machines to preserve remote sessions in the event I get dc'd for whatever reason
You might be interested in mosh instead of ssh. It's UDP-based and persists across disconnects and even network changes. Makes it great for mobile devices like tablets and laptops, networks with bad connectivity, and thanks to instant feedback on typing, it makes high-latency links more tolerable.
Still need tmux
, dtach
, or screen
to save your session between local reboots, though. I use tmux and mosh together: mosh for disconnect-proofing and tmux for "windowing", multiple views of a single session, and reboot-proofing. Not having to reconnect constantly, especially on mobile devices, is great.
It sounds like the real issue is you're leaving the server attached to your pty. Install GNU Screen or tmux and run the server in one of those, then you don't need to stay connected.
Alternatively, try mosh.
I recently completed this on PC, I'll give some steps for the beginning (this would be steps 1-3)
1.Download putty and go through the setup process, if you are unsure on what version to get: newer, faster computers usually run x64; older, slower, and/or cheap computers would run x32. (Both would work with x32)
Within your iphone's settings (assuming that you are already connected to the internet) press the information icon on your own wifi network: your IP address will be displayed here.
Relaunch putty, click on SSH (It should be there by default) , and enter into the address bar: root@ IPADDRESS
3.5. Look at the other instructions that were originally posted.
If you are having problems with step 3, that means that your device was not successfully jail-broken. The Electra app should tell you that your device was jail-broken.
If you successfully got into the command console but it keeps saying "access denied" be sure that root is the username and alpine is the password.
I made this guide mostly because I was having a hard time understanding what to do.
Seconded for Putty on Windows. Although I usually have multiple sessions to multiple hosts open at once (anywhere from 10-12) and switching between Putty windows sometimes was always a pain in the ass which is why I ended up installing SuperPutty which basically takes all the Putty windows and puts them into tabs in a single window. For me it gets around the limit on the free version of MobaXterm with how many sessions can be imported from Putty.
Anyone know if the vuln is in KiTTY? They're a lot more active fork of putty and there's a few memleak notes from back in October/November when this was originally discovered but nothing related I can see.
I prefer MobaXterm, its a great terminal emulator, and I find the multi-exec feature handy when I have to make a bunch of side by side config changes. The ssh client on it is way superior to pretty much anything and it cludes all good unix tools on windows.
On the topic of ad-blockers, I would like to pimp /r/pihole for those of you who administer your own home network and have a little technical inkling. All you need is a Raspberry Pi kit of some sort (I used an RPi3) and a few hours for initial setup.
After it's set up, I use Secure Shell to access it to keep it updated and the like.
I use it in tandem with uBlock Origin. Lovely thing.
That's Secure Shell. It's what google recommends using instead of the built-in shell for SSH client purposes.
Advice for anyone out there trying to use SSH on tethering or other flaky internet connections: Give Mosh a try. It handles lag and packet loss much better than SSH. I've been on connections where webpages would not load at all but my existing Mosh session was still usable. As a bonus, when you switch Internet connections or resume your laptop from suspend, it automatically reconnects within 3 seconds. I was a contributor to Mosh some years back so feel free to ask me questions about how it works.
Now, a rant: Caltrain started working on installing WiFi back in I think 2007. The current claim is that it'll be ready in 2022 with the new electric trains. We'll see if that happens. 15 years...
Download this Chrome app. When you go to your app list, right click on the Secure Shell icon and set it to open as window. When I actually SSHed into the server, the ctrl-w didn't close the window. Let me know if this worked for you!!
If you:
flycheck
not working properly over TRAMPThen consider using <code>sshfs</code> to mount your remote filesystem to local. This way, flycheck
will regard your files just as a local one, and works properly. Neat trick discovered today with my colleague (are you reading? :P)
> tmux over ssh is the real reason for using tmux (or screen for that matter)
Sir, if you'd give me a moment of your time, I'd like to introduce you to the good word of our lord and saviour, mosh.
Joking aside, mosh is great for laggy networks, intermittent connections, and mobile devices that hop networks. Not having to reconnect constantly is awesome and it has nearly completely replaced normal ssh for me. (Only thing it doesn't do is port forwards, so I still have to use ssh for those.)
Won't replace tmux, but it pairs better with it than ssh does.
Is that built on TCP or UDP ?
Mosh's ability to keep the connection alive when roaming or putting your computer in sleep mode thanks to UDP is really a killer feature. Any SSH replacement should have this IMHO.
I've previously use regedit to export the contents of HKEY_CURRENT_USER\Software\SimonTatham\PuTTY (right-click the key name and export the selected branch). That gives you a .reg file - running it on your target PC will import the settings there.
There's also KiTTY - a fork of PuTTY - which I believe has some command-line options for saving settings in config files.
MobaXTerm just added customizable syntax highlighting in version 10 which should get you where you want to be with a few minutes work. The free version is pretty limited but it has been worth buying for me with a built in SCP client and some other interesting features.
Of all of the terminals I've tried in Windows, MobaXTerm is the one that I was the least unhappy with.
It has X11 built in (not that I use it). Sftp. Transparency. Tabs. All those goodies.
Definitely worth a shot if Putty, kitty, etc don't match up to your normal "linux/mac terminal" standards.
I think it's the only one that supports mosh, too.
This has been invaluable to me: http://portableapps.com/
So has this: http://mobaxterm.mobatek.net/
And of course as others have stated a recent Linux LiveCD or USB key to boot into and recover files, correct Windows, etc... I prefer Linux Mint but to each their own.
Assuming your computer is running Windows then I'd recommend PuTTY. You'll need to find what COM port your serial port is - Device Manager will tell you - and then set the speed to 9600bps, 8 data bits, no parity, 1 stop bit. This is usually known as "9600 8n1".
I don't know how in-depth you're trying to get but the following skills may be helpful while setting up and troubleshooting Industrial Networking and Devices:
- Learning how to connect to a machine via serial is probably a good skill to have.
- Understanding how to use PuTTY for connecting via telnet and ssh are also probably good.
- Learning to set your IP on your machine is helpful
- Learning how to start a DHCP server from your computer (note contact your network manager before you do this as your computer can be blocked for responding to DHCP requests)
- Learning Google-Fu (The art of googling terms of your obscure IT issue and finding the answer while ignoring the junk)
I use the following Chrome-Apps and can recommend them.
SSH Client: Secure Shell
RDP Client: 2X Client for RDP/Remote Desktop
My friend... https://mosh.org
> SSH waits for the server's reply before showing you your own typing. That can make for a lousy user interface. Mosh is different: it gives an instant response to typing, deleting, and line editing. It does this adaptively and works even in full-screen programs like emacs and vim. On a bad connection, outstanding predictions are underlined so you won't be misled.
I might be mistaken, but I think the USB and ethernet share bandwidth on the rpi. An SSH session can sometimes feel laggy regardless though. One thing you can try is Mosh (https://mosh.org/). It makes terminal sessions feel more responsive, especially if you're out and about.
Not quite clear from your question though; is file access itself slow?
I've had to do stuff on a server on such a connection via ssh. That's where you start to praise mosh. The guy had two separate satellite connections for two sites across the street so anything between those two sites had double that latency. You can't imagine the sanity toll it takes.
Thanks. Apart from being much more simple setup, it also made SSH sessions more responsive, as instead of going first to intermediate server and then to target machine, traffic now goes straight to target machine via best route possible. I also recommend Mosh, which is using ssh under the hood, but makes it better :)
I know everyone else is chiming in with their specific preferences over your recommendations, but I need to as well: I gotta say I prefer Kitty to Putty.
Also, pretty much anything Ninite is worth getting, while I'm here. Ninite gives you an installer for many free programs without the hassle of adware with them (mcafee coming with adobe acrobat reader, for example) and does them all at once.
Kitty is better than putty. Back when I had to use windows, I always used a full deployment of cygwin just so I could use a shell in a sane way.
Best case scenario: get a vm and use the real SSH client.
MobaXTerm is incredible and is built around Putty, has tabbed sesisons, and adds a ton of useful unix tools to Windows. How many times have you wanted to grep something pre-Powershell? Oh and the recent patch added Powershell support too.
Sometimes I wonder how it flies under the radar when it packs so much into one portable package.
That's really bizarre. We're talking about this Chrome app, right?
I use it all the time to connect to a host I have on Digital Ocean. I use a key pair for authentication, and it works great. What exactly does GoDaddy not support? I can't really find anything that singles out the Chrome app and GoDaddy, so maybe it's just a simple config issue?
Let's back up a bit. If you try to connect to your GoDaddy VPS (I assume?) with the Secure Shell Chrome app, what exactly happens?
SSH yes, Vim no. I've been using a C720 for about a year now and the only thing I really need is the Secure Shell app. I use it to ssh into a linux server and do everything I need in vim there!
It's recommended that you don't use the native ssh in the dev shell, but I've never found a reason not to other than that it's a bit wonky in browser and Secure Shell's a bit smoother.
I used to be exactly like you. I feel your pain.
From my experience: netrw sucks, sshfs feels too slow, ftp is a pain in the ass (used this for far too long), keeping a local copy and uploading/downloading is a nightmare, and nothing ever really felt right.
Lately I've managed to switch nearly my entire dev environment into (wait for it) Google Chrome. Yes, really.
Using the Secure Shell extension allows you to create and save SSH connections. Enter the password once and you're good to go. From there:
$ cd ~ $ wget http://mydomain.com/dotfiles/.vimrc $ vi somefile.ext
... and I'm up and running.
Obviously if you want to use lots of plugins and custom color schemes and what not, you'll need to put those things somewhere web-accessible that you can pull down easily, but the above works pretty much perfectly for me.
An added bonus? I can do my work from pretty much any computer running Chrome -- logging in will sync my extensions, so within a few minutes I'll have my "home" environment up and running.
Maybe worth giving a try. I feel like it solved my problem, anyway. Good luck.
I’ve been using Blink for some time and highly recommend it. It is expensive, but you can build and install it yourself if you’re that way inclined (I decided to buy it primarily to support the developers).
It’s full of really useful features, but the most valuable to me is support for Mosh. Incredibly useful if you use your iPad in locations where connectivity is poor (in my case, using a cellular connection on a train). The reference Mosh implementation is GPLv3, which makes it difficult for developers to integrate it into non-GPL apps. I contacted Panic to ask if they’d implement Mosh support in Prompt and they said they wouldn’t be able to until a differently licensed implementation was available.
I am using KiTTY in the image, but the problem persists if I ssh from gnome terminal or from my phone using ConnectBot.
This is the output of locale:
locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory LANG=en-US.UTF-8 LC_CTYPE="en-US.UTF-8" LC_NUMERIC="en-US.UTF-8" LC_TIME="en-US.UTF-8" LC_COLLATE="en-US.UTF-8" LC_MONETARY="en-US.UTF-8" LC_MESSAGES="en-US.UTF-8" LC_PAPER="en-US.UTF-8" LC_NAME="en-US.UTF-8" LC_ADDRESS="en-US.UTF-8" LC_TELEPHONE="en-US.UTF-8" LC_MEASUREMENT="en-US.UTF-8" LC_IDENTIFICATION="en-US.UTF-8" LC_ALL=
The only thing I have set is LANG=en_US.UTF-8 in /etc/locale and uncommented the same line in locale.gen.
Localectl status:
System Locale: LANG=en_US.UTF-8 VC Keymap: us X11 Layout: us X11 Model: pc105+inet X11 Options: terminate:ctrl_alt_bksp
The server is headless, it has never had a display plugged into it.
EDIT: I fixed it, I used a goddamn hypen instead of an underscore in /etc/locale.conf between en-US.UTF-8.
I'm just getting started with python and RasPi, so i'm no expert.
But do you have X11 port forwarding enabled in putty and an working X server on your computer ?
Maybe using something else than putty will help, maybe try this?
I'm using tmux exactly for its rich pane and window management. It's great for e.g. making ad-hoc dashboards for debugging sessions that survive when I move my laptop from one network to another.
My basic remote workflow now involves mosh+tmux for basically everything for this reason.
Reading the article, you can still install them from the store if you have the direct link to the app and they will be usable until at least the middle of next year.
The only thing that have done it removed searching for them in the store.
https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo?hl=en
SInce a few months ago, Secure Shell, chrome ssh client, allow to mount SFTP easily too. It easier to manage your ssh keys with it!
There are thousands of different ways to get a remote Linux machine, from running a local server yourself on an old PC, to buying a used server off of Ebay, to purchasing hosting from a service like Digital Ocean.
As to an SSH client for Chrome OS, this is the one I would suggest: https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo
Just throwing another option out there--I have a Chromebook too and I've been pretty happy using the Chrome Secure Shell app to ssh into a server and using vim.
You can also use sshfs on any server that supports sftp and on any client with FUSE.
It's not idiot proof in that permissions can be wonky depending on your destination system.
Technically you can use sshfs to mount a remote folder locally - but it is not great for constantly editing files, and it can lock up if you lose connection.
You can install/use nano on the remote which you might find nicer. Or install and use full vim which is a huge improvement over vi - but still takes a while to learn (well worth the time to invest in learning it).
> Very nice! Emacs on a tablet might be the killer feature that converts me to your workflow.
Don't. You can get the best of both worlds by using emacs-daemon and just leaving it running. When I'm at my PC I use the normal GUI, and when I'm away from it I connect to it using mosh and fire up a terminal instance with emacsclient. Aside from some minor syntax highlighting issues that I squash when I notice them, GUI and terminal look and function similarly enough that I can swap between them with little issue.
Instead of trying to do everything in the terminal, focus on getting the terminal and GUI configurations to look as close as possible to each other so that which one you're in matters less. That way you can choose which set of pros/cons you need at a given time instead of limiting yourself unnecessarily.
I would look at this at an architectural, and protocol by protocol basis.
WAN optimizers are a big inefficient hammer and a last resort.
For example, deploying RDP v8+ and SMB3+ on a windows network would outperform the best optimizer with their legacy counterparts, because the protocols themselves are latency tolerant, and leverage compression and deduplication at the application level.
Similarly, for an IOT type deployment I would probably just want a reverse proxy like NGINX on site for caching updates and configuration repositories on demand, a little local DNS or routing magic for fault tolerance, and a jump box that I can run screen on in case I get dropped. Or a shell like https://mosh.org/
For basically everything, you'll want to look at UDP modes if available. Stateless but application specific usually trumps on high latency high loss links. OpenVPN has a UDP encapsulation mode.
You should be able to encrypt just the payload as well in many VPN suites. Not as secure, but better than running your traffic raw while still giving you the satellite fix-ups. I occasionally do this with Cisco DMVPN on low MTU links to reduce overhead. DMVPN + EIGRP is fairly scalable FWIW.
Have you tried mosh to mitigate against the spotty connection? It is fantastic – I could not work remotely without it: https://mosh.org
Even with a solid but mid-to-high latency connection it helps by minimizing the annoyance of not getting feedback each keypress by having the client-side terminal display updates immediately even if it is waiting on the server.
JuiceSSH has a bunch of features that ConnectBot didn't have the last time I used it. It's been a while so maybe ConnectBot has added features in the meanwhile.
The big one for me is MOSH support. JuiceSSH also has modifier keys built into it. With ConnectBot, I instead had to install a keyboard (Hacker's Keyboard?) that had those keys. JuiceSSH has forwarding and SOCKS support.
I'll concede a point that JuiceSSH is closed source and commercial, while ConnectBot is free and open source. I've found that for how rarely I need an SSH client on my phone, I need the features that JuiceSSH offers.
>So this will enable skipping the Username.
This will prevent you from typing username each time. PuTTY will type it for you automatically.
>For the password PuTTY does not offer any setting?
No, you can't save password in PuTTY. Likely due to security reasons, i.e. no cleartext password will be saved to disk.
There is a PuTTY's fork http://www.9bis.net/kitty/, it can save passwords.
I use KiTTY which is based on PuTTY. http://www.9bis.net/kitty/ for me it comes as part of Portable Apps. One super awesome feature of KiTTY is ability to launch WinSCP from within an open session without asking for a password.
That's very cool.
Another program windows users might be interested in is kitty, a fork of putty, and it also has the ability to act as a terminal, so you can use it with cygwin shells, cmd.exe, powershell, etc, and is resizeable and such.
My main issue was that I used it for web development. Having a LAMP stack on my laptop that was the same as my server was great. These days I normally just develop on the server, since I got faster net access. I use KiTTY for SSHing into my servers and I have a full unix shell.
I'm using Python whenever I need to do any heavy scripting, partly because it's cross platform and partly because that Google guy was so darn cheerful when I was watching his tutorial videos.
I recently was introduced to MobaXterm. It's a terminal with a cygwin environment bundle for windoze with xserver builtin and setup.
If you pony up for the pro feature set you can get as close to a *nix box as you want while still running windows.
Documentation for its feature set sucks is my only complaint.
I prefer mobaxterm since it has better support for SSH connections, but remote desktop manager has a ton more features for windows based systems.
Try using MobaXterm to SSH into the Pi. Moba has sftp and a built in editor that makes it easy. You can also configure it to use an editor of your choice (like Notebook++, etc) .
Putty is really very good, but once in a while having a local X server running (to tunnel apps over that SSH link) is very handy, and for that a Linux VM is really the best bet. If I had to work out of Windows, I think something like MobaXterm/Cygwin etc would be a must.
Yes, PowerShell Remoting Over SSH - PowerShell | Microsoft Docs
Alternately, you could look at plink, which is included with PuTTY. PuTTY: a free SSH and Telnet client (greenend.org.uk)
You will need to use an ssh client to access the server. PuTTY is a popular choice on Windows.
Once you've connected, if no one else is waiting to play you will need to wait for an opponent to connect. Once they do, use the numbers 1-6 on your keyboard to select cards.
When the game is waiting for you to acknowledge something ("Go", "Opponent scored # points", etc.) press Space to continue.
It actually isn't windows only, they even have a terminal program for *nix: https://www.chiark.greenend.org.uk/~sgtatham/putty/faq.html#faq-ports
I understand your perspective, as it was Windows only for quite a while.
As far as I understand, PuTTY (and WinSCP) for example, does not use the native "signed" version of OpenSSH keys. And its own format does not support the signatures, as described here - https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/ssh2-openssh-certkeys.html
Download puttyfrom here - https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
You log in to the openlab machines which run CentOS (but distro really doesnt matter at all). If you are off campus use VPN or a certificate to connect. He should provide all of the instructions on the site.
53 is one of the easiest classes in all of CS, enjoy it :)
Windows users can get the tool plink from the maker of putty. Command line arguments are identical. A nice option is the -D switch: -D [listen-IP:]listen-port
. It opens a dynamic port. You then simply use the local port as socks proxy.
From the puTTY changelog:
> NetHack keypad mode mapping (shift-with-)numeric-keypad to (shift-with-)hjklyubn. Unfortunately Shift only works when NumLock is off, which is a bit odd.
PuTTY is a terminal emulator, which is used to ssh
or telnet
into a remote server.
So, the idea is that regardless of where you are - Starbucks, the library, class, etc, you can log into that remote server and work on your code.
nano
is a text editor. You can use anything you want for editing text - Notepad++, vim
, emacs
, an IDE like VSCode, Visual Studio, or Code::Blocks, etc. But while you're using a terminal emulator to ssh
in, you're limited to command-line editors.
This is actually less specialized than using Notepad++. With any laptop that runs an SSH client, you can log into that server and work on your code. For example, I have a Chromebook that can barely save anything locally... but it has an SSH client, so I can use it to develop.
PuTTY comes with pscp
, which you can download here. scp
stands for "Secure Copy," and pscp
stands for Putty Secure Copy.
So, if on your remote server, the folder is located at /home/elarionus/project/
, you can copy them to your Desktop with
pscp -r :/home/elarionus/project C:/Users/elarionus/Desktop/
The -r
flag is "recursive," so it copies the entire folder.
Same exact thing, but in reverse.
pscp -r C:/Users/elarionus/Desktop/ :/home/elarionus/project
git
is your friend. Alternatively, Mercurial (hg)
. You can set up a Git repository on the remote server and then clone
it to your local computer to work on. Work on it in whatever editor you like, and then push
it back to the remote server.
http://ttyplus.com/multi-tabbed-putty/
Install and point to your copy of putty. It will manage multiple putty sessions at once as tabs or side by side, etc. You can also run commands through multiple sessions at the same time.
Using GNS3 I came across super putty. It's actually nice and has a tabbed environment and relies on the original putty application.
Here's a link: https://github.com/jimradford/superputty/releases
Yes, this extension:
https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo?hl=en
Assuming you have SSH login to your VPN provider or whatever you are using as a VPN host, just plug something like -D 8888 in the extra arguments, and then in your ChromeOS network settings point at to the proxy server (which is now localhost port 8888)
Spin up a free aws micro instance, and go to town on one of those?
You could use a chrome extension to ssh into it: https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo?hl=en
I personally use Secure Shell which releases their source and has worked wonderfully.
ChromeOS has an ssh client that works pretty well (command line only). If you want to see the desktop, there's a realvnc app.
ssh should work out of the box. Note that with vnc, you need to install a vnc server on the pi.
It has nothing to do with VPN, it's an SSH client from chrome team:
https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo
You can try it out on any OS that runs Chrome browser. For me it's been very stable and I can't complain.
You probably have not heard of Chrome.
Email client: www.gmail.com
FTP client: built into every browser.
Archie and gopher: dead
SSH client: https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo?hl=en
Telnet client: https://www.ftelnet.ca/
Web browser: Is a web browser.
Having a raspberry pi with you? Smaller and cheaper than an extra laptop. Ssh client works well and rpi provides a full Linux environment. https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo?hl=en
I installed Secure Shell and Crosh Window, then you won't have to keep the crosh tab open. But, unfortunately there is no easier way to open crouton.
I personally prefer this:- https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo
It's a literal full on web-based SSH client for chrome, supports tunneling/etc...
Which chrome ssh plugin are you using? I've been using this but I'd love some way to adjust the font/etc.
I can access it on non-dev mode with Ctrl-Alt-T. That works for basic things including SSH, although I personally use the Secure Shell extension.
You don't mention what OS(s) you're trying to support, so I'll have to assume Linux. If that's the case - you can do a simple setup with KeePass2 and sshfs.
Host your own database file on your server - use certificate and sshfs to mount the share to your local device - KeePass2 reads it after you enter Master Pass.
You can configure ssh to not allow user/pass and restrict to one user (yours). Anyone trying to get to your database file via SSH will simply be thwarted. Use big keys for good times.
Check out MOSH - it can help you with other connection related terminal issues. It uses SSH as a backend for authentication and it doesn't need any system-wide modifications, so it can be used on user accounts without any extra privileges.
> Typing over an SSH connection to a slow remote machine is an exercise in frustration.
Try mosh instead of ssh, you'll love it. It does the prediction echo in a way that doesn't ruin ncurses apps and, due to using UDP, remains active through loss of connectivity which is useful for bad connections or mobile devices that roam. Negotiates the connection over ssh then immediately terminates it once the session is established.
The main drawback is you lose your terminal emulator's scrollback so you have to be more diligent about using less
or use something like termux to provide it. The benefits greatly outweigh that issue, though.
Edit: just noticed someone else suggested it already. Oh well, leaving my comment up anyhow since I added some detail.
> Get rid of network lag.
> SSH waits for the server's reply before showing you your own typing. That can make for a lousy user interface. Mosh is different: it gives an instant response to typing, deleting, and line editing. It does this adaptively and works even in full-screen programs like emacs and vim. On a bad connection, outstanding predictions are underlined so you won't be misled.
> Hopefully this works on mobile. I'd love to be able to test random script ideas I get while out and about.
This may not be useful depending on what kind of scripts you're making, but one way to do this is to install the headless Godot and use it to run a script. Basically you just make a script that extends SceneTree or MainLoop and run it with godot -s script.gd
. Even works with Mono "scripts" (C#, or in my case F#), though in that case you have to run godot --build-solutions
first to recompile.
You can set this up on a system you have remote access to (via ssh or mosh) and some things remotely. For example, I've been doing that on a Chromebook with mosh installed to experiment with using F# in Godot land; I've just been trying to get accustomed to how Godot and F# do things and work together, so I don't need the full editor, just a way to test little things, and it's worked pretty well for it.
mosh. It makes using SSH over poor-quality connections slightly more usable, and the "roaming" feature is a killer: you can sleep your laptop at home or work, wake it back up on a coffee shop's Wi-Fi and your SSH connection is still active.
Some cool things for your to try:
-setup ssh keys
-disable password authentication so that ssh can only be used with keys
-Try Mosh! (this one I'm still playing around with myself!)
mosh
is a shell, you run it inside of another terminal. PuTTY
is a standalone application (since OP stated he uses Windows) for SSH access to other systems. You can't simply replace one with the other because they are different things.
While there are portable versions of mosh
that can run on various platforms, but the Windows version is only available as a Chrome extension and we can't even be sure OP uses Chrome
> also if your ip changed the session would drop. How to maintain a session if the user keeps changing where the packets go. Sounds fucky
Depends on the session and how the server wants to handle it.
If it's a session on a webserver, then the session won't be deleted unless the server specifically tracks the remote address and drops the session because of it.
Web Sessions work via a key and a chunk of saved data on the server that the key points to. The key being stored as a cookie in the browser.
If it's an SSH session, it's possible to still tunnel through the Tor service. I'm pretty sure the way it's handled there is that it just closes the old connection and starts a new one real quick. Could look into mosh with regards to that.
Yes, but it's not a naïve local echo, it uses an algorithm the authors called "speculative local echo" which adjusts its behavior if the authoritative screen state eventually received from the server doesn't match the local echo. You can read a high level description of it in this paper: https://mosh.org/mosh-paper.pdf
I've recently changed from an ssh reverse tunnel to using frp[https://github.com/fatedier/frp] in production ssh is arguably the greatest piece of software on the planet, but it's not design for long running jobs. If your connection to your ISP is bounced the tunnel will lock up on the vps side. Trying to keep the connection alive through the bounce is flaky (refer TCPKeepAlive et.al. for more) This problem is solved for interactive sessions with with mosh[https://mosh.org/] but this is not a solution for tunelling your connection. What you are trying to do is very doable and it offers an awesome solution for self hosting, everyone should be doing this IMHO but frp written in go gives you more options. Try it YMMV It also has a funky dashboard which reports the status and settings of your connections
Wild guess: Did you modify /System/Library/CoreServices/SystemVersion.plist
? iOS 7 is particularly... sensitive to modifications done here, unlike earlier iOSes.
Also, if you're using iFunBox Classic for Windows, go to sonny3006's iPhone -> USB Tunnel, then connect to your phone using an SSH client like KiTTY, then run dpkg -l > packages.txt
as root. Then upload that file (it'll be in /var/root/packages.txt
)
Also, try running the following commands:
chmod 755 -R /User/Documents/ chmod 755 -R /User/Library/ chown mobile -R /User/Documents/ chown mobile -R /User/Library/ chgrp mobile -R /User/Documents/ chgrp mobile -R /User/Library/
And if you're using OS X... reply to this comment.
I can't speak to the specific issue, but I'll make a shout out for MobaXterm. It's awesome and I like it way better than Putty. You can have multiple terminals open and arranged side by side or in a square pattern, built in FTP client, all around awesome.
Compared to moba, putty is like eating a bread sandwich.
While you're playing around in Linux shells, try out Tmux, for a persistent session that you can reconnect to.
If you just use SSH, then this doesn't seem like a huge issue to me. Just find a good Windows SSH client. Check out MobaXTerm, from my understanding it's pretty popular, cannot be beaten. Or use Putty.
If you want a whole new dev environment just use a VM like others suggest to install your preferred OS.
You might be able to with tools like mobaXterm or other 'more advanced' ssh clients for Windows.
edit:
In fact it can, drag n drop, check out the ssh demo on their site.
I'm adding another vote for mRemoteNG, especially if you need any other type of remoting (RDP, VNC, etc). It's really customizable and works pretty well.
I have been looking into MobaXterm, but I'm not ready to fork over the money for it quite yet. The free version may work for you if you want an alternative to mRemote.
I use MobaXterm - just connect SSH to the RPi and a file browser displays immediately. You can edit your code just by navigating to it in the file explorer and double clicking to open it into it's built-in editor. You then save and it gets directly updated on to the RPi again. You can also drag/drop files to/from it.
You can also do remote XTerm stuff.
http://mobaxterm.mobatek.net/
I use Cygwin daily for work - a lot of what I do is remote, so our Windows workstations are a good candidate for it. I do not typically use the Cygwin X server directly, though.
I have my Cygwin install, and run xterm primarily. I use the Xming server, and put it in my Startup folder so it's always running. It looks like you can use it stand-alone with PuTTY without even needing Cygwin, but I haven't tried it that way.
Another thing to try if you want to give it a spin without installing a bunch of stuff is to try MobaXterm. It's stand-alone, so you can run it from a USB drive or a directory on a Windows box without installing. I don't much care for the interface, nor having to pay to customize it, but it'll give you an idea if X works for your needs.
If you like having the standard unix tools at your disposal like ssh, scp, find, grep sed, etc... All wrapped up in a slick single executable with a nice skin on it checkout:
Not PowerCLI / PowerShell, but I use plink.exe (https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html), you can run:
plink -l root -pw mypassword esx01 "/vmfs/volumes/xxxx/scripts/backup.sh"
To avoid blank password in your scripts, you can create ssh key with puttygen and use it, some like:
plink -l root -i C:\blah\myfile.ppk esx01 "/vmfs/volumes/xxxx/scripts/backup.sh"