 I'd like to begin this week by taking a look at the lab we completed last Friday and follow up a little bit about the networking aspect of that lab. So let me open a terminal and increase the font size a little bit to make it easier to read on the video. And we learned how you could SSH to another lab machine like SSHL248.01 or let's say 5.cs.gmu.edu. Now these lab machines you can only connect to if you're on campus, they're protected behind the JMU firewall. So if you'd like to connect to a machine from home, we have a generic server called student. And this machine is exposed through the firewall so it doesn't matter where you are in the world, you can SSH to the student server. Now typically what happens when you SSH to machine is it will use the username that you're logged in as on your operating system. So if you didn't install your computer or create your user account with your JMU username, you log in with some other name, then you need to put your JMU username at the front of that address. In other words, I want to create a secure shell for this user at this machine. Now the first time I connect to a machine, I'm given this warning and I think most of you saw this warning during the lab and some had asked me about it. What this basically means is you've never connected to the machine before and it has no way of knowing if you're connecting to a real student server or if there's some hacker trying to impersonate the student server in between you. And it will show you a series of hexadecimal digits as the fingerprint for that machine. If you're concerned about the security, I can give you a file that has all the fingerprints for all of the servers in the department. And that way you don't get this warning the first time you connect to a machine. But if you say yes, I'm going to connect anyway, it will permanently add that signature to a file in your home directory and not bother you about it again. Now let me connect with my JMU password and before long I'm logged in to the student server. I can do an LS, there's my files, I can CD into my desktop, there's the files there or LS-AL to see a long listing of those files and you can see, for example, the lab worksheet I downloaded to my desktop last week or the survey results that I had showed you at the beginning of the lab. When I'm finished I can type exit and I'm back on my local host. Now just to demonstrate, if I push the up arrow to run this command again, I don't get that same warning. If you'd like to know how this really works, there's a hidden directory called .ssh and in that directory is a file that's automatically generated by the SSH program called Known Hosts. I can do a LS on Known Hosts and you can see here student.cs.JMU.edu at this IP address has the following fingerprint for its key. So that way when I connect to it a second time I know that I'm connecting to the same machine that I have in the past. Like I said, I could give you a copy of this file that contains all of the machines in the CS department if you don't want to be bothered with that kind of a warning on the first time. That's really the most secure thing to do but the chances that someone is hacking this server if you're within the JMU network trying to connect to it is actually rather low. Now let's take a look at the same process on a Windows computer. My default SSH is not built in so you need to install a program like Putty to use SSH. So I'm going to open up a web browser, type in PUTTY, here's the main download page on Google and if you scroll down you'll see that you can download the individual programs that come with Putty or I'm just going to select the installer which is the easiest way to get all of them. So I click on that, wait for it to download, I'll click run to save myself the hassle and I wait for my security scan and last but not least comes the prompt to become an administrator. Yes and if I'm lucky I will get an installer popping up here shortly. Waiting. Here we are, okay. So I push next, sure, yeah, yeah, next, next and next and install, all right. Now I can close the browser and I guess Putty will show me the readme file, I'll close that as well and somewhere in my menu, oh here's Putty, okay. So when you run Putty you basically just need to put in the host name student.cs.jmu.edu is the Computer Science Department server, I'll push open and like we saw on the Mac machine if you've never connected to this machine before it will give you a prompt saying this is the certificate of the machine, do you accept this, I'll say yes, log in with my JMU account. Now you'll notice that as you type the password it doesn't display the password because it doesn't want someone looking over your shoulder to see how many letters you have in that password. And now here I am, I can do an LS, I can do a CD to my desktop, I can do an LS-AL, there's some files from last week including the survey that I showed you in the lab, the lab for worksheet, here's the slide on WuYang, RTA that I showed you a couple weeks ago and so forth. So these are all the files that I have when I log into a lab machine but here they are remotely from my Windows terminal. When I'm done I can just type exit and then the program terminates. Now just to drive the point home, oops wrong menu, if I push putty again and connect to student.cs.jmu.edu and open this up it doesn't give me that security warning because I've connected to this machine before. You might also want to create a profile if you do this often so I can say student.cs.jmu.edu and I can give this the name, cs for example, or sometimes I just like to give it the same name as the host. And when I push save all of my settings that I currently have in putty will be saved in this configuration down here, right? So if I close and came back into putty I can just double click on that student as opposed to typing it in myself every time. So that in a nutshell is how putty works on a Windows system or if you have another system you can just run ssa directly from the terminal.