summaryrefslogtreecommitdiffstats
path: root/src/addsshkey.pl
diff options
context:
space:
mode:
authorJoe <bousset.rudy@gmail.com>2022-05-06 14:57:57 +0200
committerJoe <bousset.rudy@gmail.com>2022-05-06 14:57:57 +0200
commit6054dcfd97bc7c3b2972ad21fe2ff171cd4be549 (patch)
treeb2c7da23b69ea5be45beadf8361d0de7b2c36ff4 /src/addsshkey.pl
downloadgitjoe-scripts-6054dcfd97bc7c3b2972ad21fe2ff171cd4be549.tar.gz
gitjoe-scripts-6054dcfd97bc7c3b2972ad21fe2ff171cd4be549.tar.bz2
gitjoe-scripts-6054dcfd97bc7c3b2972ad21fe2ff171cd4be549.tar.xz
gitjoe-scripts-6054dcfd97bc7c3b2972ad21fe2ff171cd4be549.tar.zst
gitjoe-scripts-6054dcfd97bc7c3b2972ad21fe2ff171cd4be549.zip
udpate
Diffstat (limited to 'src/addsshkey.pl')
-rwxr-xr-xsrc/addsshkey.pl31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/addsshkey.pl b/src/addsshkey.pl
new file mode 100755
index 0000000..431ce7d
--- /dev/null
+++ b/src/addsshkey.pl
@@ -0,0 +1,31 @@
+#!/usr/local/bin/perl
+
+use strict;
+use warnings;
+use Term::ANSIColor;
+use constant HOME_DIR => '/usr/local/git/';
+
+sub main
+{
+ my $argc = $#ARGV + 1;
+ if ($argc < 2) {
+ print colored("Failed!\n", 'bold red')
+ . "Missing argument, 2 needed "
+ . colored("[user - ssh public key]", 'bold')
+ . "\n";
+ exit 1;
+ }
+ my $usr = $ARGV[0];
+ my $sshkey = "no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ";
+ $sshkey = $sshkey . $ARGV[1];
+ my $home_dir = HOME_DIR . $usr . '/';
+ open(my $fh, '>>:encoding(UTF-8)', $home_dir . '.ssh/authorized_keys');
+ print $fh "$sshkey\n";
+ close($fh);
+ print "Added new ssh key for user " . colored($usr, 'bold green') . ".\n";
+ exit;
+}
+
+main();
+
+__END__