]> sipb.mit.edu Git - wiki.git/blob - doc/using-athena.mdwn
Minor edits to information already posted, and the addition of a new section.
[wiki.git] / doc / using-athena.mdwn
1 # Using Athena
2
3 **Intended Purpose:**
4
5 * This article will help you answer the question “how can I have a website with an MIT domain”?
6 * The website you’re making is static (otherwise [scripts](scripts.mit.edu) might be a better option!) 
7 * To be below the level of [afs-and-you](https://sipb.mit.edu/doc/afs-and-you/)
8
9 **Prerequisites:**
10
11 * Familiarity with using a terminal (experimented with basic commands like cd, ls, mkdir, etc.)
12
13
14 ## Connecting to Athena
15
16 SSH (Secure Shell) allows a computer to remotely login into another computer/server while making use of adequate security features. Thankfully, most operating systems have an SSH program already built in and no additional installs are needed on your machine. You can SSH into Athena by following these steps.
17
18 First, open your OS’s respective terminal. Then enter
19
20 ```
21 ssh [kerberos]@athena.dialup.mit.edu
22 ```
23
24 but replacing `[kerberos]` with your kerberos/Athena username. So, for example, if your username is `aphacker`, you would type into the terminal `ssh aphacker@athena.dialup.mit.edu`.
25
26 If successful, ssh will tell you (on your _first_ connecting):
27
28 ```
29 Host key not found from the list of known hosts.
30 Are you sure you want to continue connecting (yes/no)?
31 ```
32
33 Type `yes', and now it will respond:
34
35  ```
36 Host 'athena.dialup.mit.edu' added to the list of known hosts.
37 aphacker's password:
38 ```
39
40 Type your password and press Enter. Note, you will not see any characters appear as you type your password; this is a security feature.
41
42 Now you’ll be prompted to complete two-factor authentication via Duo.
43
44 ```Enter a passcode or select one of the following options:
45
46  1. Duo Push to XXX-XXX-1234
47  2. Phone call to XXX-XXX-1234
48  3. SMS passcodes to XXX-XXX-1234
49
50 Passcode or option (1-3):
51 ```
52
53 Type an option number and press Enter. Complete your two-factor authentication. With luck, the terminal will print a series of startup text, finally ending with a line that reads
54
55 ```
56 aphacker@scrubbing-bubbles:~$
57 ```
58
59 You have now been dropped into Athena! Like the terminal on your computer, you can type commands and they will execute. For example, you can type `pwd` and see
60
61 ```
62 aphacker@scrubbing-bubbles:~$ pwd
63 /afs/athena.mit.edu/user/a/p/aphacker
64 ```
65
66 **Note start:** If your computer does not have `ssh`, you could also use shellinabox, an online terminal for using Athena that can be found [here](https://athena.dialup.mit.edu/.) Though, it’s not ideal as it will log you off if you’re idle for a few minutes (which is probably not what you want when you’re following a guide like this). ** Note end.**
67
68 ## Serving a website from AFS
69
70 Now that you’re in Athena, you can access the files in MIT’S AFS. Right now, you are in your home directory for MIT’s AFS. There are several subdirectories in your home directory, but the important one to focus on right now is `~/www`.
71
72 Files in your `~/www` directory are available on the internet through a URL, specifically via the form factor of `https://web.mit.edu/aphacker/www/`. If you go to that URL right now though, you won’t see anything (besides an error). We can change that by populating that directory with the content that makes up a small web page.
73
74 First, `cd` into the `www` directory.
75
76 ```
77 aphacker@scrubbing-bubbles:~$ cd www
78 aphacker@scrubbing-bubbles:~/www$
79 ```
80
81 Then, run the following command to make a file named `index.html` with a simple HTML5 template like so
82
83 ```
84 aphacker@scrubbing-bubbles:~/www$ echo '<!DOCTYPE html><title>Hello World!</title>' > index.html
85 ```
86
87 If you now visit your URL at `https://web.mit.edu/aphacker/www/`, you will see the web page you made! It’s a blank page with the title “Hello World!”. Note, this change is sometimes not immediate and will take a few minutes, but never hours.
88
89 You can edit the webpage you just made by running a text editor like [nano or Vim](https://xkcd.com/378/).
90
91 ```
92 aphacker@scrubbing-bubbles:~/www$ nano index.html
93 ```
94
95 This should bring up a screen with the current contents of `index.html`, which you can now edit. You can read more about how to use nano elsewhere, and edit your file as you wish.
96
97 ## Using SCP
98
99 If you feel unready to strictly edit files via the remote shell, using a package called SCP (Secure Copy), which is bundled with SSH, might be of interest. It allows you to copy files from your computer to AFS and vice-versa.
100
101 To copy a file from your computer to AFS, open your terminal and enter a command like
102
103 ```
104 scp file.txt aphacker@athena.dialup.mit.edu:~
105 ```
106
107 This will copy a file called `file.txt` to your home directory in AFS. You’ll have to do two-factor authentication with Duo, similar to SSH.
108
109 You can read SCP’s man page (on the terminal via `man scp` or online at [man7](https://man7.org/linux/man-pages/man1/scp.1.html)) or other reference sheets (like [tldr-pages](https://tldr.ostera.io/scp) for more information about how to use SCP.
110
111 ## What next?
112
113 ### Additional readings
114
115 For more information about what AFS is, visit:
116
117 * [AFS at MIT - An Introduction](http://kb.mit.edu/confluence/display/istcontrib/AFS+at+MIT+-+An+Introduction)
118 * [AFS and You](https://sipb.mit.edu/doc/afs-and-you/)
119 * [AFS Locker Maintenance Guide](http://kb.mit.edu/confluence/display/istcontrib/AFS+Locker+Maintenance+Guide)
120
121 ### Tips/tricks
122
123 To use Visual Studio Code (VSC) to interact with Athena, follow these steps:
124
125 1. In your machine’s VSC, install the [“official” ssh extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh)
126 2. SSH into Athena and use your text editor to edit into `~\.bashrc`. Then, append this command at the end of the file (in a new line): `find ~/.vscode-server/ -name 'vscode-remote-lock.{kerberos}.*' -delete`. Here, you replace `{kerberos}` with your kerberos.
127 3. Follow the extension’s steps for establishing a SSH connection.