Sindbad~EG File Manager
#! /usr/bin/python3
#
# ssh-import-id - Authorize SSH public keys from trusted online identities
#
# Copyright (c) 2013 Casey Marshall <casey.marshall@gmail.com>
# Copyright (c) 2013-16 Dustin Kirkland <dustin.kirkland@gmail.com>
#
# ssh-import-id is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, version 3.
#
# ssh-import-id is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with ssh-import-id. If not, see <http://www.gnu.org/licenses/>.
import argparse
import sys
from ssh_import_id import *
def main():
errors = []
try:
os.umask(0o177)
parser.options = parser.parse_args()
keys = []
for userid in parser.options.userids:
user_pieces = userid.split(':')
if len(user_pieces) == 2:
proto, username = user_pieces
elif len(user_pieces) == 1:
proto, username = DEFAULT_PROTO, userid
else:
die("Invalid user ID: [%s]" % (userid))
if parser.options.remove:
k = remove_keys(proto, username)
keys.extend(k)
action = "Removed"
else:
k = import_keys(proto, username, parser.options.useragent)
keys.extend(k)
action = "Authorized"
if len(k) == 0:
errors.append(userid)
logging.info("[%d] SSH keys [%s]" % (len(keys), action))
except (Exception,):
e = sys.exc_info()[1]
die("%s" % (str(e)))
cleanup()
if len(errors) > 0:
die("No matching keys found for [%s]" % ','.join(errors))
os._exit(0)
if __name__ == '__main__':
main()
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists