 I think we can call back to the applications once we get there, but yeah, let's go to the connection, because so Richard, can you explain to me how, how does one comic cluster? Yeah, so yesterday we showed the connection using SSH, using the command line like, well like this you see here. And this is really the standard way. So the command line is the most powerful thing and it uses something called SSH, which lets you go, well, really connect to anything on the internet. It's one of the most fundamental protocols. These days there are other alternatives, so different web based methods like Jupyter or open on demand are becoming slightly more common. And there's also things like remote desktop environments, which you can use. But you could say these replace the SSH part, but they don't really replace the command line part because oftentimes even after you do this, you end up at the command line when you need to run lots of things. So yeah, so one of the fundamental questions is, do you connect directly or do you have to connect through some other jump host? But I guess most people have figured that out by now since, let's see, since most people are connected. So are you saying, are you basically saying that in order to get to a system with an SSH, you need to be able to see the system in, you need to be in the same network as the system? Right, yeah. So like for security, many times you aren't allowed to connect directly to the cluster from anywhere on the internet. So you have to SSH to some other computer and then go to the cluster. Let's see, what do you like to demonstrate the SSH? Yeah, sure. Let's try it out. So if I have a terminal here open, so how should I proceed? Yeah, so first off I'd ask, are you on the university network or are you not? I'm not. You're not. Okay, so which host will you connect to in the middle? So there's Cosh, for example, will you use that? Well, let's try. So I need to take SH, Cosh, Alt, I find the right. Yes. So I have a bit of a cheat enabled, I have SSH keys, which are a bit of an advanced subject. So this will automatically let me log in because I have these keys. But in normal case, I would have to type my password. But in this case, it's regular. Okay. Am I knowing Triton? Yes, or no. So you're on Cosh. So now let's make the next jump to Triton. Okay. So is it Triton or is it? .alto.fi. Yeah, okay. Now it asks me for the passphrase for my key. So this is the SSH key. So what's this SSH key and why should we make one? So these SSH keys are basically like, like I gave yesterday this kind of analogy that they're basically a doorman at the hotel. So when you go to a hotel, you usually have a doorman. They gave you your key based on your reservation and you go to your room. When you leave the hotel to, well, I don't know, shop around or see the sites. You usually give the key to the doorman and the doorman keeps the key and then you go do whatever you want. So the SSH key is a bit of a similar situation. So usually you have this kind of a doorman. So you have this SSH agent that keeps hold of the keys and you basically authenticate to that SSH agent when you, let's say, log into your computer. So you arrive at the hotel, the doorman recognizes you and then they will allow you to go to your room whenever you want. So you don't have to constantly feel a little around with a password or a passcode or if you're like in a hotel with these number locks or something like that. You don't have to constantly refer to those. You can just ask the doorman to open the door for you. So basically SSH keys are similar kind of situations. So you set up these SSH keys for your devices, for your laptop or workstation or whatever. And then you give access in the system. Like you tell the system that okay, you're allowed to access with these SSH keys. And then after that you can just go with the SSH key instead of your password. Yeah. So a lot of this, there's more information if you look at the page. There's this advanced SSH info. And well, you can read more about keys and even how to avoid this middle SSH by configuring the open SSH config file. There's someone in the HackMD who mentioned comment on the possibility of editor integration. And yeah, there are different programs that can connect directly to SSH so they can do things like either open the terminal for you or even some of them copy code to the other end and then we'll run it and then copy the results back. So it really pays to spend a little bit of time studying about these. But as someone mentioned in HackMD already, like if you're allowing your editor to do everything and not connecting yourself, then you sort of lose a lot of the power. Like, does the editor know how to interface with Slurm? Does it know all these data things? So it can make things easy, but you shouldn't stop at that. Yes, definitely. Yeah. We like to... Yeah, go around. I was going to say we mentioned vdi.alto.fi and these remote desktop solutions, but maybe we should do what you were going to talk about first. Yeah, I was quickly going to mention that in Windows, Windows natively doesn't have an SSH client, so you usually need to install, for example, party that is the most popular SSH client. Some of the advanced features of SSH such as like x-forwarding and window forwarding and stuff like that, it doesn't necessarily work that well with Windows, but that's life, unfortunately, because the system is quite heavily tied to Linux. But you can work around them. But if we want to look at the vdi quickly, or we could mention both Jupiter and vdi at the same time, so basically nowadays many people, they don't want to work separately in their laptops, let's say to do, for example, plotting and then to analyze all the data simulations in a cluster and use SSH to bridge this gap. So that is like the traditional workflow. But nowadays there's other possibilities and other possibilities usually involve either Jupiter or vdi. So this might be also, like the vdi especially is only in Alto. I'm not certain if other sites have similar systems. The idea there is that you set up some sort of like a virtual machine where you can connect to that is closer to the actual data, closer to the actual cluster. So in our case the Jupiter is like basically you can get a Jupiter, if you ever use Jupiter you can get a Jupiter running on a compute node so that you can with a web interface, web browser, you can basically work with the cluster. And the vdi is basically you can set up, you can install this VMware horizon client and connect to this vdi and you will get basically like a window that is a window to an operating system like Ubuntu workstation running in a virtual machine and then you can connect to try to do everything. So basically if you are using Windows and you feel like the Windows doesn't have the powerful tools, you can spin out this kind of a virtual machine and then use the Linux tools instead. So basically like fix many of these issues with that. Yeah. This is site specific or it might depend. On CSC machines they have this node desktop system that you can use to like if you want to get like graphical interfaces to CSC stuff. Yeah. So there are many of these tools and they depend on what the sites have provided. Yeah. So should we wrap up? Is there anything else to talk about connection or should we wrap up? I think most people have probably done it or if not, well, it'll probably take longer than we have now. There were a few of these connection exercises if you scroll up a little bit but I have a feeling most people have done them. Maybe we could have a five minute pause to make sure everyone has time to do this and ask any questions and then... Yeah. Yeah. I think that's like... I could mention a few things like in the chapters. Like, yeah, now's a good time to solve the connection problems if you have because then you're going to like look around and it's good to check that you got there. So jump host like this question on the chapter of what is a jump host? So jump host is basically like a server or machine, sometimes a virtual machine or something that is meant for like routing SSH connections. So basically like for example in the example connection that I did, I went through this course machine and that is basically like a Linux server that is just there for being available to the wider network. So for security reasons, usually like internal company stuff is an internal network and there's only like a few very secure servers that are allowed to access the wider internet or to be available to be accessed from the wider internet. And those servers are the jump hosts. So basically you go, there's certain places where it's very like you can get in and then you are in the internal network. So those are the jump hosts. So I see a request for a bit of exercise time because some sites are having issues so maybe we can do this for 10 minutes. I see one comment in Hack and D, is it okay to use screen because of connectivity problems? And yes, by all means, I think that's what many of us do. So screen and T-Mux are two programs that let you basically keep stuff running on the other side of the computer when even after you disconnect. And in fact, basically all of my work is done by SSHing somewhere and running T-screen or T-Mux and then opening a text-based editor in there and then disconnecting and reconnecting from wherever I happen to be. And yeah, so the advantages here are I don't need a high quality internet connection to connect. I can resume and I can switch between computers easily. The disadvantage is it's a text-based editor but well, Emacs is fairly good for that. Yeah, so basically over here in the screen you see in the comment line I typed screen and it starts on the background this kind of process that will not go away if the connection breaks. So usually when you take an SSH connection, if the connection breaks, well, you need to start again. So basically similar to like if you use banking for like what's it called? Well, this kind of like a strong identification. Usually you have like a timeout or something like if you don't use it for 15 minutes, your connection is killed. So the SSH works in a similar way that if the connection breaks, you change Wi-Fi or something, you will like the terminal will die. But if you use screen for example, like here is a screen, you can disconnect from it. And you see that there's like detached from some screen and then I can attach to it. Is it like? Nope. Can't remember with the screen, I usually use TEMUX. Screen-X I usually use. Because it does R. Oh yeah, yeah. So you can see that the command I previously run, the output is still there. I personally use TEMUX which is like this. It gives you this, you can have multiple of these different windows and you can split it all the way. You can do fancy stuff there, but it's a bit more like an advanced tool. But we highly recommend you, like once you get hold of the command line, like it's first steps first. Once you feel at home with the command line, usually at some point you get annoyed by some of the features of the command line and then you start to use these tools to fix those features. So for example, like losing connectivity or something like that. Yeah. So let's go to a break until the 30 of the hour, which is, well, six minutes. We might bump this up if we get requests from the Zoom people and we can keep answering stuff via HackMD. Yeah. See you shortly. Welcome back. So let's see. Let's do a quick second round of the poll of have you connected to your cluster already. Let's see if we get better solution. If everybody has managed to solve their problems. So like we were trying to show here that the connection isn't that difficult usually. It's just like once you get the SSH, like done once, you can do it again and again. It's more of how do you work there once you get there. That can be complicated. Like there was already a question of whether you should use an editor to just copy stuff there or does the SSH for you. And is this kind of a, you need to find your own workflow and that is the complicated stuff. Your connection usually isn't that. Yeah. Okay. If there's still somebody who has problems to ask in the Zoom. You basically need to go on.