innovationOUtside / Open_Computing_Lab_Guide

Introductory guide to a prototype Open Computing Lab
MIT License
0 stars 0 forks source link

Distributing files #7

Open psychemedia opened 4 years ago

psychemedia commented 4 years ago

A discussion issue thread for considering how to distribute files to students.

For example, file sources might include:

And file sinks might include:

psychemedia commented 4 years ago

@mmh352 I don't know of a clean way to go about pulling files from a private Github repo into their own public (eg MyBinder) or private (eg personal server on their own desktop) server.

One way might be to get students to clone the repo as their own private repo, or perhaps use something like Github Classroom, and then leave it to them to provide their own credentials to get the content down. But that just kicks the ball down the field a bit...

The JupyterLab git extension has a "disposable" credentials model, I think, where you can enter credentials for a push, and they are used for that transaction then forgotten. Another way is to just have the materials in a zip file on the VLE, and let students manage them from a download?

In a managed / OU hosted JupyerHub mediated environment, particularly a TLJH environment, it should be easy enough to come up with a way of creating a user account that is seeded with the required files.

I also note that a privately operated BinderHub environment can be configured to access private repos [docs].

mmh352 commented 4 years ago

In a managed / OU hosted environment, this could be solved. It also isn't a problem when running locally, but if you want to pull in via SSH, then MyBinder does not work (and will never).

psychemedia commented 4 years ago

@mmh352 I'm not sure that's true. eg there is some discussion here (I haven't tried it) about using ssh from a MyBinder environment: how to enable SSH on Binder.

mmh352 commented 4 years ago

Unfortunately not, see (here)[https://github.com/jupyterhub/mybinder.org-deploy/issues/802]. They are not permitting outgoing ssh ports for security reasons (and it makes sense).

psychemedia commented 4 years ago

@mmh352 I don't really understand ssh / networking, but do you really need to go from port 22 to run an ssh session and connect to something outside using ssh? If you run an ssh server and serve it on port 2222, wouldn't that work? Or even proxy it (as long as the proxy passes https traffic?)

Did the try the "how to enable SSH on Binder" thing? If not, why is not appropriate? (I'm being lazy asking; I generally avoid networking / security stuff so my knowledge is v. gappy... So feel free to educate me ;-)

mmh352 commented 4 years ago

@psychemedia What they block is outgoing traffic that is connecting to port 22 on the target machine. If the ssh server were on port 2222 or something like that, then probably it would work. However, github obviously has their ssh server on port 22 and I can't change that. :-) I could proxy that, but then we are starting to get into a lot of effort :-).

The "SSH on Binder" thing is interesting, but I don't need to ssh into my image, I needed to ssh to github.