Skip to content

Conversation

@aarmaane
Copy link
Contributor

Closes #60. Based on my experience from EECS 482 last semester, it looks like Anish's Piazza post is still floating around and getting reposted. I thought it was time to give it a home.

This is just a first draft that needs some changes, but I wanted feedback first. Some things I think were worth discussing:

  • I used my own uniqname as an example everywhere, but it's probably better to use Prof. DeOrio's uniqname for consistency with the other tutorials.
  • In my experience, the extension was very finicky until I changed some of the settings (based on online discussions I found). I made them a part of the tutorial itself but they might be better placed in the troubleshooting section.
  • I haven't tested this on Windows since I have a Mac.

@github-actions
Copy link

github-actions bot commented Nov 12, 2024

The spec from this PR is available at https://preview.sesh.rs/previews/eecs280staff/tutorials/196/.

(Available until Fri Feb 21 2025.)

@awdeorio
Copy link
Contributor

I like it. While I think it would be rare for EECS 280 students to use this, I think it makes sense for the EECS 280 tutorials to be a home that's useful for any of our courses, especially those that use the C++ toolchain.

I'll put this on my list to review.

@awdeorio awdeorio self-requested a review November 12, 2024 13:47
@jamesjuett
Copy link
Contributor

I think this would be a nice option to add for students, both in case they run into issues with their own machine or for testing code in the CAEN environment.

I can walk through it myself sometime soon. I've got both a Windows and M1 Mac.

Copy link
Contributor

@awdeorio awdeorio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is going to be a nice tutorial! I left a few comments.

<img src="images/remotessh_01.png" width="768px" />


Search for "Exec Server" and disable the "Use Exec Server" option.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have a sense of why this setting is needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its not well documented but I can make an educated guess. The exec server runs a lightweight program on the SSH host to help set up the files and create the server. I believe it uses log files to make the initial communication. By default, all of the server files are dropped onto the home directory. The problem with CAEN is that the home directory is on the network, and I think sometimes issues arise with file creation/deletion while the exec server is also running. Turning off the exec server seems directly create the server without these issues.

Alternatively, we could change the settings to put the server files in another directory (maybe /tmp/?) or point towards the troubleshooting step to kill the exec server via terminal ssh if you can't connect.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very reasonable guess. I agree.


<img src="images/remotessh_02.png" width="768px" />

Search for "Flock" and disable the "Use Flock" option.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question about the meaning of this setting.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to above. CAEN home directory is on the network and sometimes issues arise when creating locks on files. I initially used this setting because someone on Piazza suggested it when I was taking EECS 482, but I discovered there's actually another setting that is specifically for this type of situation. Just changed this section based on that.

Copy link
Contributor

@awdeorio awdeorio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the edits. I left some very minor suggestions and then this should be ready to merge!

<img src="images/remotessh_01.png" width="768px" />


Search for "Exec Server" and disable the "Use Exec Server" option.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very reasonable guess. I agree.

@aarmaane
Copy link
Contributor Author

I installed a Windows VM to test and added a small section regarding a 2FA pitfall I found. If you think that the formatting should be different, feel free to change it before merging.

Copy link
Contributor

@awdeorio awdeorio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@awdeorio
Copy link
Contributor

This won't affect current EECS 280 students because it's a stand-alone tutorial that's linked lower on the tutorials page. I'm gonna merge it.

@awdeorio awdeorio merged commit 40f54e5 into main Jan 22, 2025
1 check passed
@awdeorio awdeorio deleted the remotessh branch January 22, 2025 13:24
@jamesjuett
Copy link
Contributor

Thanks, @aarmaane and @awdeorio! This is a great addition!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add VSCode Remote SSH Access Tutorial

4 participants