You'll want to run virtualenv first. "virtualenv ~/globus_ssh". Then use one of the 'activate' scripts in ~/globus_ssh/bin: '. ~/globus_ssh/bin/activate'. Then you can pip install globus_ssh into the virtual environment.
You'll need to be root to install virtualenv, if it is not already installed.
(globus_ssh) [susan@initech globus_ssh]$ ls ~/tmp
a tmpfoo.txt
(globus_ssh) [susan@initech globus_ssh]$ globus-scp -v -r ~/tmp susan@vm039.bridges.psc.edu:/home/susan/tmptest
Use globus-ssh login vm039.bridges.psc.edu
Aha! I was not instructed to log back in after I logged out and that's why I got the errors. It's working this time around. Will post results to test log.
You'll need to tell me an email address associated with your linked Globus account so I can create a local account on ssh.demo.globus.org. I tried susan@psc.edu but it appears to be unused within Globus.
This is SSH's way of handling unknown accounts without divulging information. Since account 'susan' does not exist on ssh.demo.globus.org, it just re prompts you. We could potentially handle this in a user friendly way but we have to consider the security issue.
[susan@initech bin]$ source ~/globus_ssh/bin/activate
(globus_ssh) [susan@initech bin]$ globus-ssh login ssh.demo.globus.org
Login successful
(globus_ssh) [susan@initech bin]$ globus-ssh logout ssh.demo.globus.org
Logout successful
(globus_ssh) [susan@initech bin]$ globus-ssh login ssh.demo.globus.org
Please go to this URL and login: https://auth.globus.org/v2/oauth2/authorize?code_challenge=isBnjDjUps3r8...
Please enter the code you get after login here: https://auth.globus.org/v2/oauth2/authorize?code_challenge=isBnjDjUps3r8...
An error occurred: invalid_grant
(globus_ssh) [susan@initech bin]$ globus-ssh login ssh.demo.globus.org
Please go to this URL and login: https://auth.globus.org/v2/oauth2/authorize?code_challenge=R1he-CwXhNB4L...
Please enter the code you get after login here: IgKZRQwLBCPgv78oU9h66MWk8kuXm1
An error occurred: invalid_grant
(globus_ssh) [susan@initech bin]$ globus-ssh login ssh.demo.globus.org
Please go to this URL and login: https://auth.globus.org/v2/oauth2/authorize?code_challenge=AlVKxHf2ka_DQ...
Please enter the code you get after login here: OMp7ALaiktASqNTk8P4z028C7CQ8wW
Login successful
(globus_ssh) [susan@initech bin]$ globus-ssh -l globus-mapping ssh.demo.globus.org
Enter your Globus Auth token:
Enter your Globus Auth token:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).
(globus_ssh) [susan@initech bin]$ globus-ssh -l slitzing ssh.demo.globus.org
Enter your Globus Auth token:
Enter your Globus Auth token:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).
(globus_ssh) [susan@initech bin]$ ls
activate activate.fish easy_install pip pip2.7 python2 python-config
activate.csh activate_this.py easy_install-2.7 pip2 python python2.7 wheel
(globus_ssh) [susan@initech bin]$ pwd
/home/susan/globus-ssh/bin
(globus_ssh) [susan@initech bin]$ cd ..
(globus_ssh) [susan@initech globus-ssh]$ ls
bin include lib lib64 pip-selfcheck.json
(globus_ssh) [susan@initech globus-ssh]$ ls bin
activate activate.fish easy_install pip pip2.7 python2 python-config
activate.csh activate_this.py easy_install-2.7 pip2 python python2.7 wheel
(globus_ssh) [susan@initech globus-ssh]$ cd ..
(globus_ssh) [susan@initech ~]$ cd globus_ssh
(globus_ssh) [susan@initech globus_ssh]$ ls
bin include lib lib64 pip-selfcheck.json
(globus_ssh) [susan@initech globus_ssh]$ bin/globus-ssh ssh.demo.globus.org
Enter your Globus Auth token:
Enter your Globus Auth token:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).
(globus_ssh) [susan@initech globus_ssh]$ bin/globus-scp -v -r ~/tmp slitzing1@ssh.demo.globus.org
The hostname could not be found
(globus_ssh) [susan@initech globus_ssh]$ bin/globus-scp -v -r ~/tmp slitzing@ssh.demo.globus.org
The hostname could not be found
That one is concerning. Is it reproducible? Any chance that code that was pasted was from the previous login attempt? (the code only works with a single request)
Enter your Globus Auth token:
Enter your Globus Auth token:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).
(globus_ssh) [susan@initech bin]$ globus-ssh -l slitzing ssh.demo.globus.org
Enter your Globus Auth token:
Enter your Globus Auth token:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).
Hi Susan. It looks like you're trying to use the username "slitzing", but just above that the globus mapping command said that you are only authorized as slitzing1 or slitzing2, but not as slitzing (no number). Similarly, it won't work without the -l option at all (because it will use your local username, whatever that is).
I'm not sure what's going on with the globus-scp command giving "hostname could not be found" errors, though.
So to be clear, these commands will not work for you:
X11 forwarding request failed on channel 0
Last login: Thu May 3 18:18:08 2018 from initech.psc.edu
[slitzing1@ip-172-31-37-87 ~]$
That all works fine. But step 5 and 6 are still giving me problems. When I try to run globus ssh wtihout any user, I get prompted to enter my Globus Auth token. What is that?
X11 forwarding request failed on channel 0
Last login: Thu May 3 18:18:08 2018 from initech.psc.edu
[slitzing1@ip-172-31-37-87 ~]$ exit
logout
Connection to ssh.demo.globus.org closed.
(globus_ssh) [susan@initech ~]$ globus-ssh ssh.demo.globus.org
Enter your Globus Auth token:
(globus_ssh) [susan@initech ~]$ globus-ssh -l slitzing1 ssh.demo.globus.org
X11 forwarding request failed on channel 0
Last login: Fri Jun 15 15:35:12 2018 from initech.psc.edu
Then for step 6, which machine do I issue the command from? I tried from my home system that I was authorized on to the ip address that is the demo system and I didn't get an error but it didn't work:
(globus_ssh) [susan@initech ~]$ ls tmp
a tmpfoo.txt
(globus_ssh) [susan@initech ~]$ globus-scp -v -r tmp/ slitzing1@ip-172-31-37-87:tmp
Use globus-ssh login ip-172-31-37-87
(globus_ssh) [susan@initech ~]$ globus-ssh -l slitzing1 ssh.demo.globus.org
X11 forwarding request failed on channel 0
Last login: Fri Jun 15 15:39:24 2018 from initech.psc.edu
[slitzing1@ip-172-31-37-87 ~]$ ls tmp
ls: cannot access tmp: No such file or directory
[slitzing1@ip-172-31-37-87 ~]$ ls /tmp
systemd-private-da3a089b90604b52baec99ade7a63865-chronyd.service-LpSMPx
[slitzing1@ip-172-31-37-87 ~]$ ls
[slitzing1@ip-172-31-37-87 ~]$ pwd
/home/slitzing1
[slitzing1@ip-172-31-37-87 ~]$ ls -al
total 20
drwx------. 2 slitzing1 slitzing1 83 May 3 18:14 .
drwxr-xr-x. 45 root root 4096 May 7 18:33 ..
-rw-------. 1 slitzing1 slitzing1 125 Jun 15 15:38 .bash_history
-rw-r--r--. 1 slitzing1 slitzing1 18 Sep 6 2017 .bash_logout
-rw-r--r--. 1 slitzing1 slitzing1 193 Sep 6 2017 .bash_profile
-rw-r--r--. 1 slitzing1 slitzing1 231 Sep 6 2017 .bashrc
When you SSH to a system with an unknown account, the SSH service will mask this and make it appear as a failed password (or token in this case) in order to not leak information about available accounts. The SSH service has code to make it re prompt for password on unknown account. We have an issue tracking a possible fix for this on the client side which is to say, if the token prompt re displays for any reason, there is no reason to continue: https://github.com/globus/globus-ssh/issues/23.
Currently, globus-ssh only supports the fully qualified domain name that was registered with Globus Auth for the service. In this case, ssh.demo.globus.org. Using the IP address or alternative fqdns (ex. ec2-35-163-193-209.us-west-2.compute.amazonaws.com) does not yet work. Issues exist for tracking progress: https://github.com/globus/globus-ssh/issues/25 and https://github.com/globus/globus-ssh/issues/26.
2.7 support for the quick alpha for feedback. 3.x will be in the production release. Let me know if that's a show stopper for evaluation.
This is a show stopper for me because I can't run pip install globus-ssh as myself. I get permission denied here:
[susan@initech globus-ssh]$ cat typescript
Script started on Fri 06 Apr 2018 10:57:06 AM EDT
[susan@initech globus-ssh]$ pip install globus_ssh
Collecting globus_ssh
Downloading globus_ssh-0.2-py2-none-any.whl
Collecting click<7.0,>=6.7 (from globus_ssh)
Downloading click-6.7-py2.py3-none-any.whl (71kB)
100% |████████████████████████████████| 71kB 1.9MB/s
Collecting psutil>=5.4.3 (from globus_ssh)
Downloading psutil-5.4.3.tar.gz (412kB)
100% |████████████████████████████████| 419kB 1.3MB/s
Collecting globus-sdk>=1.5.0 (from globus_ssh)
Downloading globus-sdk-1.5.0.tar.gz (82kB)
100% |████████████████████████████████| 92kB 3.5MB/s
Requirement already satisfied: requests<3.0.0,>=2.0.0 in /usr/lib/python2.7/site-packages (from globus-sdk>=1.5.0->globus_ssh)
Collecting six<2.0.0,>=1.10.0 (from globus-sdk>=1.5.0->globus_ssh)
Downloading six-1.11.0-py2.py3-none-any.whl
Collecting pyjwt[crypto]<2.0.0,>=1.5.3 (from globus-sdk>=1.5.0->globus_ssh)
Downloading PyJWT-1.6.1-py2.py3-none-any.whl
Requirement already satisfied: cryptography>=1.4; extra == "crypto" in /usr/lib64/python2.7/site-packages (from pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus_ssh)
Requirement already satisfied: idna>=2.0 in /usr/lib/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus_ssh)
Requirement already satisfied: pyasn1>=0.1.8 in /usr/lib/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus_ssh)
Requirement already satisfied: setuptools in /usr/lib/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus_ssh)
Requirement already satisfied: enum34 in /usr/lib/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus_ssh)
Requirement already satisfied: ipaddress in /usr/lib/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus_ssh)
Requirement already satisfied: cffi>=1.4.1 in /usr/lib64/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus_ssh)
Requirement already satisfied: pycparser in /usr/lib/python2.7/site-packages (from cffi>=1.4.1->cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus_ssh)
Installing collected packages: click, psutil, six, pyjwt, globus-sdk, globus-ssh
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/usr/lib/python2.7/site-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/usr/lib/python2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/usr/lib/python2.7/site-packages/pip/wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
File "/usr/lib/python2.7/site-packages/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
File "/usr/lib/python2.7/site-packages/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "/usr/lib64/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/lib/python2.7/site-packages/click'
[susan@initech globus-ssh]$ sudo -s
Autopushing login request to phone...
Pushed a login request to your device...
Success. Logging you in...
[root@initech globus-ssh]# yum install python2.7
Loaded plugins: changelog, fastestmirror, langpacks
PSC | 2.9 kB 00:00
TurboVNC | 2.6 kB 00:00
XSEDE-Production | 2.9 kB 00:00
base | 3.6 kB 00:00
epel/x86_64/metalink | 17 kB 00:00
epel | 4.7 kB 00:00
extras | 3.4 kB 00:00
google-chrome | 951 B 00:00
google-talkplugin | 951 B 00:00
nux-dextop | 2.9 kB 00:00
updates | 3.4 kB 00:00
(1/2): epel/x86_64/updateinfo | 908 kB 00:00
(2/2): epel/x86_64/primary_db | 6.3 MB 00:00
Loading mirror speeds from cached hostfile
* base: mirror.atlanticmetro.net
* epel: mirror.cs.pitt.edu
* extras: mirror.atlanticmetro.net
* nux-dextop: mirror.li.nux.ro
* updates: mirror.atlanticmetro.net
No package python2.7 available.
Error: Nothing to do
[root@initech globus-ssh]# yum install -y python2-pip
Loaded plugins: changelog, fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.jaleco.com
* epel: mirror.cs.pitt.edu
* extras: mirror.jaleco.com
* nux-dextop: mirror.li.nux.ro
* updates: mirror.jaleco.com
Package python2-pip-8.1.2-5.el7.noarch already installed and latest version
Nothing to do
[root@initech globus-ssh]# yum install -y python-devel
Loaded plugins: changelog, fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.jaleco.com
* epel: mirror.cs.pitt.edu
* extras: mirror.jaleco.com
* nux-dextop: mirror.li.nux.ro
* updates: mirror.jaleco.com
Package python-devel-2.7.5-58.el7.x86_64 already installed and latest version
Nothing to do
[root@initech globus-ssh]# exit
exit
[susan@initech globus-ssh]$ pip install globus-ssh
Collecting globus-ssh
Using cached globus_ssh-0.2-py2-none-any.whl
Collecting click<7.0,>=6.7 (from globus-ssh)
Using cached click-6.7-py2.py3-none-any.whl
Collecting psutil>=5.4.3 (from globus-ssh)
Using cached psutil-5.4.3.tar.gz
Collecting globus-sdk>=1.5.0 (from globus-ssh)
Using cached globus-sdk-1.5.0.tar.gz
Requirement already satisfied: requests<3.0.0,>=2.0.0 in /usr/lib/python2.7/site-packages (from globus-sdk>=1.5.0->globus-ssh)
Collecting six<2.0.0,>=1.10.0 (from globus-sdk>=1.5.0->globus-ssh)
Using cached six-1.11.0-py2.py3-none-any.whl
Collecting pyjwt[crypto]<2.0.0,>=1.5.3 (from globus-sdk>=1.5.0->globus-ssh)
Using cached PyJWT-1.6.1-py2.py3-none-any.whl
Requirement already satisfied: cryptography>=1.4; extra == "crypto" in /usr/lib64/python2.7/site-packages (from pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Requirement already satisfied: idna>=2.0 in /usr/lib/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Requirement already satisfied: pyasn1>=0.1.8 in /usr/lib/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Requirement already satisfied: setuptools in /usr/lib/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Requirement already satisfied: enum34 in /usr/lib/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Requirement already satisfied: ipaddress in /usr/lib/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Requirement already satisfied: cffi>=1.4.1 in /usr/lib64/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Requirement already satisfied: pycparser in /usr/lib/python2.7/site-packages (from cffi>=1.4.1->cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Installing collected packages: click, psutil, six, pyjwt, globus-sdk, globus-ssh
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/usr/lib/python2.7/site-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/usr/lib/python2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/usr/lib/python2.7/site-packages/pip/wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
File "/usr/lib/python2.7/site-packages/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
File "/usr/lib/python2.7/site-packages/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "/usr/lib64/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/lib/python2.7/site-packages/click'
[susan@initech globus-ssh]$ ls /usr/lib/python2.7/site-packages/
Display all 206 possibilities? (y or n)
ANSI.py
ANSI.pyc
ANSI.pyo
augeas.py
augeas.pyc
augeas.pyo
backports/
backports.ssl_match_hostname-3.4.0.2-py2.7.egg-info/
beaker/
Beaker-1.5.4-py2.7.egg-info/
blivet/
blivet-0.61.15.65-py2.7.egg-info
caribou/
chardet/
chardet-2.2.1-py2.7.egg-info/
configobj-4.7.2-py2.7.egg-info
configobj.py
configobj.pyc
configobj.pyo
configshell/
configshell_fb/
configshell_fb-1.1.23-py2.7.egg-info/
createrepo/
cupshelpers/
cupshelpers-1.0-py2.7.egg-info
custodia/
custodia-0.3.1-py2.7.egg-info/
custodia-0.3.1-py2.7-nspkg.pth
dateutil/
decorator-3.4.0-py2.7.egg-info/
decorator.py
decorator.pyc
decorator.pyo
di/
di-0.3-py2.7.egg-info/
dns/
dnspython-1.12.0-py2.7.egg-info/
easy_install.py
easy_install.pyc
easy_install.pyo
enum/
enum34-1.0.4-py2.7.egg-info
fail2ban/
fail2ban-0.9.7-py2.7.egg-info
fdpexpect.py
fdpexpect.pyc
fdpexpect.pyo
firewall/
firstboot/
firstboot-19.5-py2.7.egg-info
fros-1.0-py2.7.egg-info/
FSM.py
FSM.pyc
FSM.pyo
gtweak/
guihelpers/
idna/
idna-2.4-py2.7.egg-info/
iniparse/
iniparse-0.4-py2.7.egg-info
initial_setup/
initial_setup-0.3.9.40-py2.7.egg-info/
ipaclient/
ipaclient-4.5.0-py2.7.egg-info/
ipaddress-1.0.16-py2.7.egg-info
ipaddress.py
ipaddress.pyc
ipaddress.pyo
ipalib/
ipalib-4.5.0-py2.7.egg-info/
ipaplatform/
ipaplatform-4.5.0-py2.7.egg-info/
ipapython/
ipapython-4.5.0-py2.7.egg-info/
IPy-0.75-py2.7.egg-info
IPy.py
IPy.pyc
IPy.pyo
javapackages/
javapackages-1.0.0-py2.7.egg-info/
jwcrypto/
jwcrypto-0.2.1-py2.7.egg-info/
kitchen/
kitchen-1.1.1-py2.7.egg-info/
langtable-0.0.31-py2.7.egg-info
langtable.py
langtable.pyc
langtable.pyo
louis/
lsm/
mako/
Mako-0.8.1-py2.7.egg-info/
_markerlib/
mate_invest/
meh/
Mozo/
netaddr/
netaddr-0.7.5-py2.7.egg-info
nose/
nose-1.3.7-py2.7.egg-info/
ntplib-0.3.2-py2.7.egg-info
ntplib.py
ntplib.pyc
ntplib.pyo
packagekit/
paste/
Paste-1.7.5.1-py2.7.egg-info/
Paste-1.7.5.1-py2.7-nspkg.pth
pexpect-2.3-py2.7.egg-info
pexpect.py
pexpect.pyc
pexpect.pyo
pip/
pip-9.0.3.dist-info/
pkg_resources.py
pkg_resources.pyc
pkg_resources.pyo
ply/
ply-3.4-py2.7.egg-info
procfs/
pxssh.py
pxssh.pyc
pxssh.pyo
pyasn1/
pyasn1-0.1.9-py2.7.egg-info/
pyasn1_modules/
pyasn1_modules-0.0.8-py2.7.egg-info/
pyatspi/
pycparser/
pycparser-2.14-py2.7.egg-info/
pyfros/
pyinotify-0.9.4-py2.7.egg-info
pyinotify.py
pyinotify.pyc
pyinotify.pyo
pykickstart/
pykickstart-1.99.66.12-py2.7.egg-info
pyparsing-1.5.6-py2.7.egg-info
pyparsing.py
pyparsing.pyc
pyparsing.pyo
python_augeas-0.5.0-py2.7.egg-info
python_dateutil-1.5-py2.7.egg-info/
python_linux_procfs-0.4.9-py2.7.egg-info
python_meh-0.25.2-py2.7.egg-info
python_yubico-1.2.3-py2.7.egg-info/
pytz/
pytz-2016.10-py2.7.egg-info/
pyudev/
pyudev-0.15-py2.7.egg-info/
pyusb-1.0.0b1-py2.7.egg-info
pyxdg-0.25-py2.7.egg-info
qrcode/
qrcode-5.0.1-py2.7.egg-info/
requests/
requests-2.6.0-py2.7.egg-info
rpmUtils/
rtslib/
rtslib_fb/
rtslib_fb-2.1.63-py2.7.egg-info/
scdate/
scdate-1.10.6-py2.7.egg-info
screen.py
screen.pyc
screen.pyo
setuptools/
setuptools-0.9.8-py2.7.egg-info/
six-1.9.0-py2.7.egg-info/
six.py
six.pyc
six.pyo
slip/
slip-0.4.0-py2.7.egg-info
slip.dbus-0.4.0-py2.7.egg-info
sos/
SSSDConfig/
SSSDConfig-1.15.2-py2.7.egg-info
targetcli/
targetcli_fb-2.1.fb46-py2.7.egg-info/
tempita/
Tempita-0.5.1-py2.7.egg-info/
tuned/
urlgrabber/
urlgrabber-3.10-py2.7.egg-info
urllib3/
urllib3-1.10.2-py2.7.egg-info/
usb/
validate.py
validate.pyc
validate.pyo
vboxapi/
vboxapi-1.0-py2.7.egg-info
virtualenv-15.2.0.dist-info/
virtualenv.py
virtualenv.pyc
virtualenv_support/
websockify/
websockify-0.6.0-py2.7.egg-info/
xdg/
yubico/
yum/
yumexbackend/
yumexbase/
yumexgui/
yum_langpacks-0.4.2-py2.7.egg-info/
yumutils/
[susan@initech globus-ssh]$ ls -l /usr/lib/python2.7
total 12
drwxr-xr-x. 118 root root 8192 Apr 5 13:00 site-packages
[susan@initech globus-ssh]$ ls -l /usr/lib/python2.7/site-packages/
total 3328
-rw-r--r--. 1 root root 10842 Dec 16 2007 ANSI.py
-rw-r--r--. 2 root root 10514 Jun 9 2014 ANSI.pyc
-rw-r--r--. 2 root root 10514 Jun 9 2014 ANSI.pyo
-rw-r--r--. 1 root root 23555 Aug 31 2014 augeas.py
-rw-r--r--. 2 root root 22210 Nov 19 2015 augeas.pyc
-rw-r--r--. 2 root root 22210 Nov 19 2015 augeas.pyo
drwxr-xr-x. 3 root root 87 May 6 2016 backports
drwxr-xr-x. 2 root root 86 May 6 2016 backports.ssl_match_hostname-3.4.0.2-py2.7.egg-info
drwxr-xr-x. 4 root root 4096 Aug 14 2017 beaker
drwxr-xr-x. 2 root root 4096 Aug 14 2017 Beaker-1.5.4-py2.7.egg-info
drwxr-xr-x. 5 root root 4096 Oct 9 16:28 blivet
-rw-r--r--. 1 root root 269 Aug 5 2017 blivet-0.61.15.65-py2.7.egg-info
drwxr-xr-x. 4 root root 4096 Nov 1 11:33 caribou
drwxr-xr-x. 2 root root 4096 May 6 2016 chardet
drwxr-xr-x. 2 root root 109 May 6 2016 chardet-2.2.1-py2.7.egg-info
-rw-r--r--. 1 root root 2135 Jun 10 2014 configobj-4.7.2-py2.7.egg-info
-rw-r--r--. 1 root root 88163 Feb 27 2010 configobj.py
-rw-r--r--. 2 root root 66278 Jun 10 2014 configobj.pyc
-rw-r--r--. 2 root root 66278 Jun 10 2014 configobj.pyo
drwxr-xr-x. 2 root root 4096 Nov 1 11:26 configshell
drwxr-xr-x. 2 root root 4096 Nov 1 11:26 configshell_fb
drwxr-xr-x. 2 root root 86 Nov 1 11:26 configshell_fb-1.1.23-py2.7.egg-info
drwxr-xr-x. 2 root root 4096 Nov 1 11:26 createrepo
drwxr-xr-x. 2 root root 4096 May 6 2016 cupshelpers
-rw-r--r--. 1 root root 231 Nov 3 2014 cupshelpers-1.0-py2.7.egg-info
drwxr-xr-x. 8 root root 4096 Nov 1 11:37 custodia
drwxr-xr-x. 2 root root 4096 Nov 1 11:37 custodia-0.3.1-py2.7.egg-info
-rw-r--r--. 1 root root 313 Aug 5 2017 custodia-0.3.1-py2.7-nspkg.pth
drwxr-xr-x. 3 root root 4096 May 6 2016 dateutil
drwxr-xr-x. 2 root root 105 May 6 2016 decorator-3.4.0-py2.7.egg-info
-rw-r--r--. 1 root root 10639 Oct 18 2012 decorator.py
-rw-r--r--. 1 root root 8563 Jun 9 2014 decorator.pyc
-rw-r--r--. 1 root root 8516 Jun 9 2014 decorator.pyo
drwxr-xr-x. 2 root root 4096 May 6 2016 di
drwxr-xr-x. 2 root root 86 May 6 2016 di-0.3-py2.7.egg-info
drwxr-xr-x. 3 root root 4096 Nov 1 11:19 dns
drwxr-xr-x. 2 root root 86 Nov 1 11:19 dnspython-1.12.0-py2.7.egg-info
-rw-r--r--. 1 root root 126 Jul 15 2013 easy_install.py
-rw-r--r--. 2 root root 315 Aug 2 2017 easy_install.pyc
-rw-r--r--. 2 root root 315 Aug 2 2017 easy_install.pyo
drwxr-xr-x. 2 root root 4096 May 6 2016 enum
-rw-r--r--. 1 root root 28716 Nov 19 2015 enum34-1.0.4-py2.7.egg-info
drwxr-xr-x. 4 root root 4096 Nov 1 11:29 fail2ban
-rw-r--r--. 1 root root 524 Jul 13 2017 fail2ban-0.9.7-py2.7.egg-info
-rw-r--r--. 1 root root 2488 Dec 26 2007 fdpexpect.py
-rw-r--r--. 2 root root 3101 Jun 9 2014 fdpexpect.pyc
-rw-r--r--. 2 root root 3101 Jun 9 2014 fdpexpect.pyo
drwxr-xr-x. 5 root root 4096 Nov 1 11:24 firewall
drwxr-xr-x. 2 root root 4096 Dec 15 2016 firstboot
-rw-r--r--. 1 root root 263 Nov 5 2016 firstboot-19.5-py2.7.egg-info
drwxr-xr-x. 2 root root 86 May 6 2016 fros-1.0-py2.7.egg-info
-rwxr-xr-x. 1 root root 13318 Dec 16 2007 FSM.py
-rw-r--r--. 2 root root 13805 Jun 9 2014 FSM.pyc
-rw-r--r--. 2 root root 13805 Jun 9 2014 FSM.pyo
drwxr-xr-x 3 root root 4096 Mar 26 15:19 gtweak
drwxr-xr-x. 2 root root 62 Aug 14 2017 guihelpers
drwxr-xr-x. 2 root root 4096 Nov 1 11:19 idna
drwxr-xr-x. 2 root root 86 Nov 1 11:19 idna-2.4-py2.7.egg-info
drwxr-xr-x. 2 root root 4096 May 6 2016 iniparse
-rw-r--r--. 1 root root 1083 Jun 9 2014 iniparse-0.4-py2.7.egg-info
drwxr-xr-x. 4 root root 4096 Mar 26 15:19 initial_setup
drwxr-xr-x. 2 root root 86 Nov 1 11:38 initial_setup-0.3.9.40-py2.7.egg-info
drwxr-xr-x. 5 root root 4096 Jan 12 15:46 ipaclient
drwxr-xr-x. 2 root root 4096 Jan 12 15:46 ipaclient-4.5.0-py2.7.egg-info
-rw-r--r--. 1 root root 783 Nov 5 2016 ipaddress-1.0.16-py2.7.egg-info
-rw-r--r--. 1 root root 79904 Dec 28 2015 ipaddress.py
-rw-r--r--. 1 root root 75525 Nov 5 2016 ipaddress.pyc
-rw-r--r--. 1 root root 75335 Nov 5 2016 ipaddress.pyo
drwxr-xr-x. 3 root root 4096 Jan 12 15:46 ipalib
drwxr-xr-x. 2 root root 4096 Jan 12 15:46 ipalib-4.5.0-py2.7.egg-info
drwxr-xr-x. 7 root root 4096 Jan 12 15:46 ipaplatform
drwxr-xr-x. 2 root root 4096 Jan 12 15:46 ipaplatform-4.5.0-py2.7.egg-info
drwxr-xr-x. 3 root root 4096 Jan 12 15:46 ipapython
drwxr-xr-x. 2 root root 4096 Jan 12 15:46 ipapython-4.5.0-py2.7.egg-info
-rw-r--r--. 1 root root 10061 Jun 10 2014 IPy-0.75-py2.7.egg-info
-rw-r--r--. 1 root root 51270 Apr 12 2011 IPy.py
-rw-r--r--. 2 root root 40873 Jun 10 2014 IPy.pyc
-rw-r--r--. 2 root root 40873 Jun 10 2014 IPy.pyo
drwxr-xr-x. 2 root root 4096 May 6 2016 javapackages
drwxr-xr-x. 2 root root 86 May 6 2016 javapackages-1.0.0-py2.7.egg-info
drwxr-xr-x. 2 root root 4096 Dec 15 2016 jwcrypto
drwxr-xr-x. 2 root root 86 Dec 15 2016 jwcrypto-0.2.1-py2.7.egg-info
drwxr-xr-x. 10 root root 4096 May 6 2016 kitchen
drwxr-xr-x. 2 root root 86 May 6 2016 kitchen-1.1.1-py2.7.egg-info
-rw-r--r--. 1 root root 2724 Nov 20 2015 langtable-0.0.31-py2.7.egg-info
-rw-r--r--. 1 root root 76068 Nov 20 2015 langtable.py
-rw-r--r--. 2 root root 57191 Nov 20 2015 langtable.pyc
-rw-r--r--. 2 root root 57191 Nov 20 2015 langtable.pyo
drwxr-xr-x 2 root root 62 Mar 26 15:17 louis
drwxr-xr-x. 5 root root 4096 Jan 12 15:45 lsm
drwxr-xr-x. 3 root root 4096 Aug 14 2017 mako
drwxr-xr-x. 2 root root 4096 Aug 14 2017 Mako-0.8.1-py2.7.egg-info
drwxr-xr-x. 2 root root 4096 Nov 1 11:19 _markerlib
drwxr-xr-x. 2 root root 4096 Aug 14 2017 mate_invest
drwxr-xr-x. 3 root root 4096 May 6 2016 meh
drwxr-xr-x. 2 root root 4096 Aug 14 2017 Mozo
drwxr-xr-x. 6 root root 4096 May 6 2016 netaddr
-rw-r--r--. 1 root root 4527 Jun 9 2014 netaddr-0.7.5-py2.7.egg-info
drwxr-xr-x 6 root root 4096 Mar 28 11:05 nose
drwxr-xr-x 2 root root 128 Mar 28 11:05 nose-1.3.7-py2.7.egg-info
-rw-r--r--. 1 root root 1775 Nov 19 2015 ntplib-0.3.2-py2.7.egg-info
-rw-r--r--. 1 root root 13522 Feb 2 2014 ntplib.py
-rw-r--r--. 2 root root 13381 Nov 19 2015 ntplib.pyc
-rw-r--r--. 2 root root 13381 Nov 19 2015 ntplib.pyo
drwxr-xr-x 2 root root 4096 Mar 26 15:15 packagekit
drwxr-xr-x. 8 root root 4096 Aug 14 2017 paste
drwxr-xr-x. 2 root root 4096 Aug 14 2017 Paste-1.7.5.1-py2.7.egg-info
-rw-r--r--. 1 root root 304 Jun 10 2014 Paste-1.7.5.1-py2.7-nspkg.pth
-rw-r--r--. 1 root root 287 Jun 9 2014 pexpect-2.3-py2.7.egg-info
-rw-r--r--. 1 root root 75937 Dec 26 2007 pexpect.py
-rw-r--r--. 1 root root 63945 Jun 9 2014 pexpect.pyc
-rw-r--r--. 1 root root 63790 Jun 9 2014 pexpect.pyo
drwxr-xr-x 10 root root 4096 Apr 5 13:00 pip
drwxr-xr-x 2 root root 147 Apr 5 13:00 pip-9.0.3.dist-info
-rw-r--r--. 1 root root 101108 Jul 15 2013 pkg_resources.py
-rw-r--r--. 1 root root 108033 Aug 2 2017 pkg_resources.pyc
-rw-r--r--. 1 root root 108001 Aug 2 2017 pkg_resources.pyo
drwxr-xr-x. 2 root root 4096 Nov 1 11:27 ply
-rw-r--r--. 1 root root 900 Aug 2 2017 ply-3.4-py2.7.egg-info
drwxr-xr-x. 2 root root 4096 Nov 1 11:19 procfs
-rw-r--r--. 1 root root 14589 Jun 9 2014 pxssh.py
-rw-r--r--. 2 root root 11260 Jun 9 2014 pxssh.pyc
-rw-r--r--. 2 root root 11260 Jun 9 2014 pxssh.pyo
drwxr-xr-x. 5 root root 4096 Dec 15 2016 pyasn1
drwxr-xr-x. 2 root root 101 Dec 15 2016 pyasn1-0.1.9-py2.7.egg-info
drwxr-xr-x. 2 root root 4096 Nov 1 11:19 pyasn1_modules
drwxr-xr-x. 2 root root 4096 Nov 1 11:19 pyasn1_modules-0.0.8-py2.7.egg-info
drwxr-xr-x. 2 root root 4096 Nov 1 11:41 pyatspi
drwxr-xr-x. 2 root root 4096 May 6 2016 pycparser
drwxr-xr-x. 2 root root 86 May 6 2016 pycparser-2.14-py2.7.egg-info
drwxr-xr-x. 3 root root 4096 May 6 2016 pyfros
-rw-r--r--. 1 root root 1180 Jun 9 2014 pyinotify-0.9.4-py2.7.egg-info
-rwxr-xr-x. 1 root root 87666 Nov 15 2012 pyinotify.py
-rw-r--r--. 1 root root 85405 Jun 9 2014 pyinotify.pyc
-rw-r--r--. 1 root root 85136 Jun 9 2014 pyinotify.pyo
drwxr-xr-x. 4 root root 4096 Oct 9 16:28 pykickstart
-rw-r--r--. 1 root root 279 Aug 3 2017 pykickstart-1.99.66.12-py2.7.egg-info
-rw-r--r--. 1 root root 670 Jun 9 2014 pyparsing-1.5.6-py2.7.egg-info
-rw-r--r--. 1 root root 155429 Jun 9 2014 pyparsing.py
-rw-r--r--. 2 root root 148895 Jun 9 2014 pyparsing.pyc
-rw-r--r--. 2 root root 148895 Jun 9 2014 pyparsing.pyo
-rw-r--r--. 1 root root 238 Nov 19 2015 python_augeas-0.5.0-py2.7.egg-info
drwxr-xr-x. 2 root root 105 May 6 2016 python_dateutil-1.5-py2.7.egg-info
-rw-r--r--. 1 root root 350 Nov 5 2016 python_linux_procfs-0.4.9-py2.7.egg-info
-rw-r--r--. 1 root root 274 Mar 6 2015 python_meh-0.25.2-py2.7.egg-info
drwxr-xr-x. 2 root root 105 May 6 2016 python_yubico-1.2.3-py2.7.egg-info
drwxr-xr-x. 2 root root 4096 Nov 1 11:27 pytz
drwxr-xr-x. 2 root root 101 Nov 1 11:27 pytz-2016.10-py2.7.egg-info
drwxr-xr-x. 2 root root 4096 Nov 1 11:23 pyudev
drwxr-xr-x. 2 root root 86 Nov 1 11:23 pyudev-0.15-py2.7.egg-info
-rw-r--r--. 1 root root 508 Mar 6 2015 pyusb-1.0.0b1-py2.7.egg-info
-rw-r--r--. 1 root root 576 Nov 21 2016 pyxdg-0.25-py2.7.egg-info
drwxr-xr-x. 3 root root 4096 May 6 2016 qrcode
drwxr-xr-x. 2 root root 105 May 6 2016 qrcode-5.0.1-py2.7.egg-info
drwxr-xr-x. 3 root root 4096 Dec 15 2016 requests
-rw-r--r--. 1 root root 40357 Jul 22 2015 requests-2.6.0-py2.7.egg-info
drwxr-xr-x. 2 root root 4096 Nov 1 11:25 rpmUtils
drwxr-xr-x. 2 root root 4096 Nov 1 11:34 rtslib
drwxr-xr-x. 2 root root 4096 Nov 1 11:34 rtslib_fb
drwxr-xr-x. 2 root root 4096 Nov 1 11:34 rtslib_fb-2.1.63-py2.7.egg-info
drwxr-xr-x. 3 root root 73 May 6 2016 scdate
-rw-r--r--. 1 root root 181 Jun 19 2014 scdate-1.10.6-py2.7.egg-info
-rw-r--r--. 1 root root 10402 Jul 12 2007 screen.py
-rw-r--r--. 2 root root 13513 Jun 9 2014 screen.pyc
-rw-r--r--. 2 root root 13513 Jun 9 2014 screen.pyo
drwxr-xr-x. 4 root root 4096 Nov 1 11:19 setuptools
drwxr-xr-x. 2 root root 4096 Nov 1 11:19 setuptools-0.9.8-py2.7.egg-info
drwxr-xr-x. 2 root root 86 May 6 2016 six-1.9.0-py2.7.egg-info
-rw-r--r--. 1 root root 29664 Jan 2 2015 six.py
-rw-r--r--. 2 root root 29708 Nov 19 2015 six.pyc
-rw-r--r--. 2 root root 29708 Nov 19 2015 six.pyo
drwxr-xr-x. 5 root root 100 May 6 2016 slip
-rw-r--r--. 1 root root 196 Jun 9 2014 slip-0.4.0-py2.7.egg-info
-rw-r--r--. 1 root root 269 Jun 9 2014 slip.dbus-0.4.0-py2.7.egg-info
drwxr-xr-x. 4 root root 4096 Nov 1 11:26 sos
drwxr-xr-x. 2 root root 4096 Jan 12 15:46 SSSDConfig
-rw-r--r-- 1 root root 205 Dec 5 10:35 SSSDConfig-1.15.2-py2.7.egg-info
drwxr-xr-x. 2 root root 4096 Nov 1 11:35 targetcli
drwxr-xr-x. 2 root root 86 Nov 1 11:35 targetcli_fb-2.1.fb46-py2.7.egg-info
drwxr-xr-x. 2 root root 4096 Aug 14 2017 tempita
drwxr-xr-x. 2 root root 101 Aug 14 2017 Tempita-0.5.1-py2.7.egg-info
drwxr-xr-x. 12 root root 4096 Nov 1 11:35 tuned
drwxr-xr-x. 2 root root 4096 Dec 15 2016 urlgrabber
-rw-r--r--. 1 root root 2265 Nov 5 2016 urlgrabber-3.10-py2.7.egg-info
drwxr-xr-x. 5 root root 4096 Nov 1 11:27 urllib3
drwxr-xr-x. 2 root root 86 Nov 1 11:27 urllib3-1.10.2-py2.7.egg-info
drwxr-xr-x. 3 root root 4096 May 6 2016 usb
-rw-r--r--. 1 root root 46303 Jun 10 2014 validate.py
-rw-r--r--. 2 root root 46711 Jun 10 2014 validate.pyc
-rw-r--r--. 2 root root 46711 Jun 10 2014 validate.pyo
drwxr-xr-x. 2 root root 4096 Sep 1 2016 vboxapi
-rw-r--r--. 1 root root 241 Aug 16 2016 vboxapi-1.0-py2.7.egg-info
drwxr-xr-x 2 root root 147 Apr 5 12:59 virtualenv-15.2.0.dist-info
-rw-r--r-- 1 root root 99761 Apr 5 12:59 virtualenv.py
-rw-r--r-- 1 root root 87139 Apr 5 12:59 virtualenv.pyc
drwxr-xr-x 2 root root 4096 Apr 5 12:59 virtualenv_support
drwxr-xr-x 2 root root 4096 Mar 28 11:05 websockify
drwxr-xr-x 2 root root 128 Mar 28 11:05 websockify-0.6.0-py2.7.egg-info
drwxr-xr-x. 2 root root 4096 Aug 14 2017 xdg
drwxr-xr-x. 2 root root 4096 May 6 2016 yubico
drwxr-xr-x. 2 root root 4096 Nov 1 11:25 yum
drwxr-xr-x. 2 root root 4096 Aug 14 2017 yumexbackend
drwxr-xr-x. 2 root root 4096 Aug 14 2017 yumexbase
drwxr-xr-x. 2 root root 4096 Aug 14 2017 yumexgui
drwxr-xr-x. 2 root root 86 Dec 15 2016 yum_langpacks-0.4.2-py2.7.egg-info
drwxr-xr-x. 2 root root 106 Nov 1 11:27 yumutils
[susan@initech globus-ssh]$ pip install globus-ssh
Collecting globus-ssh
Using cached globus_ssh-0.2-py2-none-any.whl
Collecting click<7.0,>=6.7 (from globus-ssh)
Using cached click-6.7-py2.py3-none-any.whl
Collecting psutil>=5.4.3 (from globus-ssh)
Using cached psutil-5.4.3.tar.gz
Collecting globus-sdk>=1.5.0 (from globus-ssh)
Using cached globus-sdk-1.5.0.tar.gz
Requirement already satisfied: requests<3.0.0,>=2.0.0 in /usr/lib/python2.7/site-packages (from globus-sdk>=1.5.0->globus-ssh)
Collecting six<2.0.0,>=1.10.0 (from globus-sdk>=1.5.0->globus-ssh)
Using cached six-1.11.0-py2.py3-none-any.whl
Collecting pyjwt[crypto]<2.0.0,>=1.5.3 (from globus-sdk>=1.5.0->globus-ssh)
Using cached PyJWT-1.6.1-py2.py3-none-any.whl
Requirement already satisfied: cryptography>=1.4; extra == "crypto" in /usr/lib64/python2.7/site-packages (from pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Requirement already satisfied: idna>=2.0 in /usr/lib/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Requirement already satisfied: pyasn1>=0.1.8 in /usr/lib/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Requirement already satisfied: setuptools in /usr/lib/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Requirement already satisfied: enum34 in /usr/lib/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Requirement already satisfied: ipaddress in /usr/lib/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Requirement already satisfied: cffi>=1.4.1 in /usr/lib64/python2.7/site-packages (from cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Requirement already satisfied: pycparser in /usr/lib/python2.7/site-packages (from cffi>=1.4.1->cryptography>=1.4; extra == "crypto"->pyjwt[crypto]<2.0.0,>=1.5.3->globus-sdk>=1.5.0->globus-ssh)
Installing collected packages: click, psutil, six, pyjwt, globus-sdk, globus-ssh
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/usr/lib/python2.7/site-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/usr/lib/python2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/usr/lib/python2.7/site-packages/pip/wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
File "/usr/lib/python2.7/site-packages/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
File "/usr/lib/python2.7/site-packages/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "/usr/lib64/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/lib/python2.7/site-packages/click'
[susan@initech globus-ssh]$ exit
Script done on Fri 06 Apr 2018 11:11:40 AM EDT
You'll want to run virtualenv first. "virtualenv ~/globus_ssh". Then use one of the 'activate' scripts in ~/globus_ssh/bin: '. ~/globus_ssh/bin/activate'. Then you can pip install globus_ssh into the virtual environment.
You'll need to be root to install virtualenv, if it is not already installed.
Followed install instructions as directed by Jason. The first 3 tests succeeded but the last 3 failed.
(globus_ssh) [susan@initech globus_ssh]$ globus-ssh login ssh.demo.globus.org
Login successful
(globus_ssh) [susan@initech globus_ssh]$ globus-ssh logout ssh.demo.globus.org
Logout successful
(globus_ssh) [susan@initech globus_ssh]$ globus-ssh -l globus-mapping ssh.demo.globus.org
Use globus-ssh login ssh.demo.globus.org
(globus_ssh) [susan@initech globus_ssh]$ globus-ssh ssh.demo.globus.org
Use globus-ssh login ssh.demo.globus.org
(globus_ssh) [susan@initech globus_ssh]$ pwd
/home/susan/globus_ssh
(globus_ssh) [susan@initech globus_ssh]$ ls ~/tmp
a tmpfoo.txt
(globus_ssh) [susan@initech globus_ssh]$ globus-scp -v -r ~/tmp susan@vm039.bridges.psc.edu:/home/susan/tmptest
Use globus-ssh login vm039.bridges.psc.edu
Aha! I was not instructed to log back in after I logged out and that's why I got the errors. It's working this time around. Will post results to test log.
You'll need to tell me an email address associated with your linked Globus account so I can create a local account on ssh.demo.globus.org. I tried susan@psc.edu but it appears to be unused within Globus.
If python3 is planned, that's great.
Jason - My globus online userid is slitzing, same as my XSEDE login. My PSC account is susan@psc.edu. THanks - Susan
You are all set. Remember to login in initially as user 'globus-mapping' to discover your accounts. This is just for demo purposes.
globus-ssh -l globus-mapping ssh.demo.globus.org
then
globus-ssh -l <account> ssh.demo.globus.org
Does this look like a success? I got in ..
[susan@initech globus_ssh]$ ./bin/globus-ssh -l globus-mapping ssh.demo.globus.org
You can log in as slitzing1, slitzing2
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
[susan@initech globus_ssh]$ ./bin/globus-ssh -l slitzing1 ssh.demo.globus.org
Warning: No xauth data; using fake authentication data for X11 forwarding.
X11 forwarding request failed on channel 0
[slitzing1@ip-172-31-37-87 ~]$
Step 4 worked but still no luck with Step 5 and Step 6. Results posted to my Test Log and copied here for Jason's review:
[susan@initech globus_ssh]$ ./bin/globus-ssh -l globus-mapping ssh.demo.globus.org
You can log in as slitzing1, slitzing2
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
[susan@initech globus_ssh]$ ./bin/globus-ssh -l slitzing1 ssh.demo.globus.org
Warning: No xauth data; using fake authentication data for X11 forwarding.
X11 forwarding request failed on channel 0
[slitzing1@ip-172-31-37-87 ~]$ ls
[susan@initech globus_ssh]$ ./bin/globus-ssh ssh.demo.globus.org
Enter your Globus Auth token:
[susan@initech globus_ssh]$ bin/globus-scp -v -r ~/tmp ssh.demo.globus.org
The hostname could not be found
"Does this look like a success? I got in .. "
yes, that's all there is to it.
"[susan@initech globus_ssh]$ ./bin/globus-ssh ssh.demo.globus.org
Enter your Globus Auth token: "
This is SSH's way of handling unknown accounts without divulging information. Since account 'susan' does not exist on ssh.demo.globus.org, it just re prompts you. We could potentially handle this in a user friendly way but we have to consider the security issue.
"[susan@initech globus_ssh]$ bin/globus-scp -v -r ~/tmp ssh.demo.globus.org"
Should be "globus-scp -v -r ~/tmp slitzing1@ssh.demo.globus.org:."
FYI, globus-ssh v0.3 is available and supports Python 2.7 and 3.6.
[susan@initech bin]$ source ~/globus_ssh/bin/activate
(globus_ssh) [susan@initech bin]$ globus-ssh login ssh.demo.globus.org
Login successful
(globus_ssh) [susan@initech bin]$ globus-ssh logout ssh.demo.globus.org
Logout successful
(globus_ssh) [susan@initech bin]$ globus-ssh login ssh.demo.globus.org
Please go to this URL and login: https://auth.globus.org/v2/oauth2/authorize?code_challenge=isBnjDjUps3r8...
Please enter the code you get after login here: https://auth.globus.org/v2/oauth2/authorize?code_challenge=isBnjDjUps3r8...
An error occurred: invalid_grant
(globus_ssh) [susan@initech bin]$ globus-ssh login ssh.demo.globus.org
Please go to this URL and login: https://auth.globus.org/v2/oauth2/authorize?code_challenge=R1he-CwXhNB4L...
Please enter the code you get after login here: IgKZRQwLBCPgv78oU9h66MWk8kuXm1
An error occurred: invalid_grant
(globus_ssh) [susan@initech bin]$ globus-ssh login ssh.demo.globus.org
Please go to this URL and login: https://auth.globus.org/v2/oauth2/authorize?code_challenge=AlVKxHf2ka_DQ...
Please enter the code you get after login here: OMp7ALaiktASqNTk8P4z028C7CQ8wW
Login successful
(globus_ssh) [susan@initech bin]$ globus-ssh -l globus-mapping ssh.demo.globus.org
You can log in as slitzing1, slitzing2
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
(globus_ssh) [susan@initech bin]$ globus-ssh -l slitzing ssh.demo.globus.org
Enter your Globus Auth token:
Enter your Globus Auth token:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).
(globus_ssh) [susan@initech bin]$ globus-ssh -l slitzing ssh.demo.globus.org
Enter your Globus Auth token:
Enter your Globus Auth token:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).
(globus_ssh) [susan@initech bin]$ ls
activate activate.fish easy_install pip pip2.7 python2 python-config
activate.csh activate_this.py easy_install-2.7 pip2 python python2.7 wheel
(globus_ssh) [susan@initech bin]$ pwd
/home/susan/globus-ssh/bin
(globus_ssh) [susan@initech bin]$ cd ..
(globus_ssh) [susan@initech globus-ssh]$ ls
bin include lib lib64 pip-selfcheck.json
(globus_ssh) [susan@initech globus-ssh]$ ls bin
activate activate.fish easy_install pip pip2.7 python2 python-config
activate.csh activate_this.py easy_install-2.7 pip2 python python2.7 wheel
(globus_ssh) [susan@initech globus-ssh]$ cd ..
(globus_ssh) [susan@initech ~]$ cd globus_ssh
(globus_ssh) [susan@initech globus_ssh]$ ls
bin include lib lib64 pip-selfcheck.json
(globus_ssh) [susan@initech globus_ssh]$ bin/globus-ssh ssh.demo.globus.org
Enter your Globus Auth token:
Enter your Globus Auth token:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).
(globus_ssh) [susan@initech globus_ssh]$ bin/globus-scp -v -r ~/tmp slitzing1@ssh.demo.globus.org
The hostname could not be found
(globus_ssh) [susan@initech globus_ssh]$ bin/globus-scp -v -r ~/tmp slitzing@ssh.demo.globus.org
The hostname could not be found
[susan@initech bin]$ source ~/globus_ssh/bin/activate
(globus_ssh) [susan@initech bin]$ globus-ssh login ssh.demo.globus.org
Login successful
(globus_ssh) [susan@initech bin]$ globus-ssh logout ssh.demo.globus.org
Logout successful
(globus_ssh) [susan@initech bin]$ globus-ssh login ssh.demo.globus.org
Please go to this URL and login: https://auth.globus.org/v2/oauth2/authorize?code_challenge=isBnjDjUps3r8...
Please enter the code you get after login here: https://auth.globus.org/v2/oauth2/authorize?code_challenge=isBnjDjUps3r8...
An error occurred: invalid_grant
That one looks like a bad cut-n-paste. The invalid_grant error message though is being tracked at https://github.com/globus/globus-ssh/issues/14.
An error occurred: invalid_grant
(globus_ssh) [susan@initech bin]$ globus-ssh login ssh.demo.globus.org
Please go to this URL and login: https://auth.globus.org/v2/oauth2/authorize?code_challenge=R1he-CwXhNB4L...
Please enter the code you get after login here: IgKZRQwLBCPgv78oU9h66MWk8kuXm1
An error occurred: invalid_grant
That one is concerning. Is it reproducible? Any chance that code that was pasted was from the previous login attempt? (the code only works with a single request)
(globus_ssh) [susan@initech bin]$ globus-ssh -l slitzing ssh.demo.globus.org
Enter your Globus Auth token:
Enter your Globus Auth token:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).
(globus_ssh) [susan@initech bin]$ globus-ssh -l slitzing ssh.demo.globus.org
Enter your Globus Auth token:
Enter your Globus Auth token:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).
(globus_ssh) [susan@initech globus_ssh]$ bin/globus-ssh ssh.demo.globus.org
Enter your Globus Auth token:
Enter your Globus Auth token:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).
Unknown user. This is standard SSH behavoir. The issue tracking the error mesage: https://github.com/globus/globus-ssh/issues/23
(globus_ssh) [susan@initech globus_ssh]$ bin/globus-scp -v -r ~/tmp slitzing1@ssh.demo.globus.org
The hostname could not be found
(globus_ssh) [susan@initech globus_ssh]$ bin/globus-scp -v -r ~/tmp slitzing@ssh.demo.globus.org
The hostname could not be found
The scp syntax is incorrect. From SCP(1):
scp [-346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 ... [[user@]host2:]file2
globus-scp looks for at least "host:file" as one of the last args. Tracking the error message here: https://github.com/globus/globus-ssh/issues/24
Hi Susan. It looks like you're trying to use the username "slitzing", but just above that the globus mapping command said that you are only authorized as slitzing1 or slitzing2, but not as slitzing (no number). Similarly, it won't work without the -l option at all (because it will use your local username, whatever that is).
I'm not sure what's going on with the globus-scp command giving "hostname could not be found" errors, though.
So to be clear, these commands will not work for you:
globus-ssh -l slitzing ssh.demo.globus.org
globus-ssh ssh.demo.globus.org
But these commands should work for you:
globus-ssh -l slitzing1 ssh.demo.globus.org
globus-ssh -l slitzing2 ssh.demo.globus.org
[susan@initech ~]$ source ~/globush_ssh/bin/activate
bash: /home/susan/globush_ssh/bin/activate: No such file or directory
[susan@initech ~]$ source ~/globus_ssh/bin/activate
(globus_ssh) [susan@initech ~]$ globus-ssh login ssh.demo.globus.org
Login successful
(globus_ssh) [susan@initech ~]$ globus-ssh logout ssh.demo.globus.org
Logout successful
(globus_ssh) [susan@initech ~]$ globus-ssh login ssh.demo.globus.org
Please go to this URL and login: https://auth.globus.org/v2/oauth2/authorize?code_challenge=pYJQZjXYCKYNe...
Please enter the code you get after login here: ev9geGfYBQ28K5oSQdgRCFyLYvhNL2
Login successful
(globus_ssh) [susan@initech ~]$ globus-ssh -l globus-mapping ssh.demo.globus.org
You can log in as slitzing1, slitzing2
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
(globus_ssh) [susan@initech ~]$ globus-ssh -l slitzing1 ssh.demo.globus.org
X11 forwarding request failed on channel 0
Last login: Thu May 3 18:18:08 2018 from initech.psc.edu
[slitzing1@ip-172-31-37-87 ~]$
That all works fine. But step 5 and 6 are still giving me problems. When I try to run globus ssh wtihout any user, I get prompted to enter my Globus Auth token. What is that?
(globus_ssh) [susan@initech ~]$ globus-ssh -l slitzing1 ssh.demo.globus.org
X11 forwarding request failed on channel 0
Last login: Thu May 3 18:18:08 2018 from initech.psc.edu
[slitzing1@ip-172-31-37-87 ~]$ exit
logout
Connection to ssh.demo.globus.org closed.
(globus_ssh) [susan@initech ~]$ globus-ssh ssh.demo.globus.org
Enter your Globus Auth token:
(globus_ssh) [susan@initech ~]$ globus-ssh -l slitzing1 ssh.demo.globus.org
X11 forwarding request failed on channel 0
Last login: Fri Jun 15 15:35:12 2018 from initech.psc.edu
Then for step 6, which machine do I issue the command from? I tried from my home system that I was authorized on to the ip address that is the demo system and I didn't get an error but it didn't work:
(globus_ssh) [susan@initech ~]$ ls tmp
a tmpfoo.txt
(globus_ssh) [susan@initech ~]$ globus-scp -v -r tmp/ slitzing1@ip-172-31-37-87:tmp
Use globus-ssh login ip-172-31-37-87
(globus_ssh) [susan@initech ~]$ globus-ssh -l slitzing1 ssh.demo.globus.org
X11 forwarding request failed on channel 0
Last login: Fri Jun 15 15:39:24 2018 from initech.psc.edu
[slitzing1@ip-172-31-37-87 ~]$ ls tmp
ls: cannot access tmp: No such file or directory
[slitzing1@ip-172-31-37-87 ~]$ ls /tmp
systemd-private-da3a089b90604b52baec99ade7a63865-chronyd.service-LpSMPx
[slitzing1@ip-172-31-37-87 ~]$ ls
[slitzing1@ip-172-31-37-87 ~]$ pwd
/home/slitzing1
[slitzing1@ip-172-31-37-87 ~]$ ls -al
total 20
drwx------. 2 slitzing1 slitzing1 83 May 3 18:14 .
drwxr-xr-x. 45 root root 4096 May 7 18:33 ..
-rw-------. 1 slitzing1 slitzing1 125 Jun 15 15:38 .bash_history
-rw-r--r--. 1 slitzing1 slitzing1 18 Sep 6 2017 .bash_logout
-rw-r--r--. 1 slitzing1 slitzing1 193 Sep 6 2017 .bash_profile
-rw-r--r--. 1 slitzing1 slitzing1 231 Sep 6 2017 .bashrc
When you SSH to a system with an unknown account, the SSH service will mask this and make it appear as a failed password (or token in this case) in order to not leak information about available accounts. The SSH service has code to make it re prompt for password on unknown account. We have an issue tracking a possible fix for this on the client side which is to say, if the token prompt re displays for any reason, there is no reason to continue: https://github.com/globus/globus-ssh/issues/23.
Currently, globus-ssh only supports the fully qualified domain name that was registered with Globus Auth for the service. In this case, ssh.demo.globus.org. Using the IP address or alternative fqdns (ex. ec2-35-163-193-209.us-west-2.compute.amazonaws.com) does not yet work. Issues exist for tracking progress: https://github.com/globus/globus-ssh/issues/25 and https://github.com/globus/globus-ssh/issues/26.