Pass: Difference between revisions

From Lolly's Wiki
Jump to navigationJump to search
No edit summary
m (Text replacement - "[[Kategorie:" to "[[Category:")
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Kategorie:Linux|pass - The standard unix password manager]]
[[Category:Linux|pass]]
=pass - The standard unix password manager=
=pass - The standard unix password manager=


Line 10: Line 10:


====Obvious way====
====Obvious way====
<source lang=bash>
<syntaxhighlight lang=bash>
$ pass -c Customers/CustomerA/myuser@sshhost
$ pass -c Customers/CustomerA/myuser@sshhost
$ ssh myuser@sshhost
$ ssh myuser@sshhost
Password:<paste the copied password>
Password:<paste the copied password>
myuser@sshhost:~$  
myuser@sshhost:~$  
</source>
</syntaxhighlight>


====Cooler way====
====Cooler way====


=====Create an alias=====
=====Create an alias=====
<source lang=bash>
<syntaxhighlight lang=bash>
$ alias customerA-sshhost='sshpass -f <(pass Customers/CustomerA/sshuser@sshhost) ssh sshuser@sshhost'
$ alias customerA-sshhost='sshpass -f <(pass Customers/CustomerA/sshuser@sshhost) ssh sshuser@sshhost'
</source>
</syntaxhighlight>


=====Use it=====
=====Use it=====
<source lang=bash>
<syntaxhighlight lang=bash>
$ customerA-sshhost
$ customerA-sshhost
sshuser@sshhost:~$  
sshuser@sshhost:~$  
</source>
</syntaxhighlight>


===MySQL===
===MySQL===
Line 34: Line 34:


====Obvious way====
====Obvious way====
<source lang=bash>
<syntaxhighlight lang=bash>
$ pass -c Customsers/CustomerB/mysqluser@mysqlhost:mysql
$ pass -c Customsers/CustomerB/mysqluser@mysqlhost:mysql
$ mysql -h mysqlhost -u mysqluser
$ mysql -h mysqlhost -u mysqluser
Line 40: Line 40:
...
...
MariaDB [(none)]>
MariaDB [(none)]>
</source>
</syntaxhighlight>


====Cooler way====
====Cooler way====


=====Create an alias=====
=====Create an alias=====
<source lang=bash>
<syntaxhighlight lang=bash>
$ alias customerB-mysqlhost-mysqluser='mysql --user mysqluser --host mysqlhost --password=$(pass show Customsers/CustomerB/mysqluser@mysqlhost:mysql)'
$ alias customerB-mysqlhost-mysqluser='mysql --user mysqluser --host mysqlhost --password=$(pass show Customsers/CustomerB/mysqluser@mysqlhost:mysql)'
</source>
</syntaxhighlight>


Or even cooler with seperate history and defaults file per connection
Or even cooler with seperate history and defaults file per connection
<source lang=bash>
<syntaxhighlight lang=bash>
$ mkdir -p ~/Customsers/CustomerB/.mysql
$ mkdir -p ~/Customsers/CustomerB/.mysql
$ cat > ~/Customsers/CustomerB/.mysql/.my.cnf-mysqlhost-mysqluser << EOF
$ cat > ~/Customsers/CustomerB/.mysql/.my.cnf-mysqlhost-mysqluser << EOF
Line 58: Line 58:
EOF
EOF
$ alias customerB-mysqlhost-mysqluser='MYSQL_HISTFILE=~/Customsers/CustomerB/.mysql/.mysql_history_mysqlhost mysql --defaults-file=~/Customsers/CustomerB/.mysql/.my.cnf-mysqlhost-mysqluser --password=$(pass show Customsers/CustomerB/mysqluser@mysqlhost:mysql)'
$ alias customerB-mysqlhost-mysqluser='MYSQL_HISTFILE=~/Customsers/CustomerB/.mysql/.mysql_history_mysqlhost mysql --defaults-file=~/Customsers/CustomerB/.mysql/.my.cnf-mysqlhost-mysqluser --password=$(pass show Customsers/CustomerB/mysqluser@mysqlhost:mysql)'
</source>
</syntaxhighlight>


=====Use it=====
=====Use it=====
<source lang=bash>
<syntaxhighlight lang=bash>
$ customerB-mysqlhost-mysqluser
$ customerB-mysqlhost-mysqluser
...
...
MariaDB [(none)]>
MariaDB [(none)]>
</source>
</syntaxhighlight>


==Links==
==Links==
* [https://www.passwordstore.org/ Official site of pass]
* [https://www.passwordstore.org/ Official site of pass]
* [https://sourceforge.net/projects/sshpass/ sshpass]
* [https://sourceforge.net/projects/sshpass/ sshpass]

Latest revision as of 01:54, 26 November 2021

pass - The standard unix password manager

Tipps & Tricks

SSH

To pass the password to the ssh password promt you need another tool, too: sshpass . Put only the password in your Customers/CustomerA/myuser@sshhost.

Obvious way

$ pass -c Customers/CustomerA/myuser@sshhost
$ ssh myuser@sshhost
Password:<paste the copied password>
myuser@sshhost:~$

Cooler way

Create an alias
$ alias customerA-sshhost='sshpass -f <(pass Customers/CustomerA/sshuser@sshhost) ssh sshuser@sshhost'
Use it
$ customerA-sshhost
sshuser@sshhost:~$

MySQL

Put only the password in your Customsers/CustomerB/mysqluser@mysqlhost:mysql.

Obvious way

$ pass -c Customsers/CustomerB/mysqluser@mysqlhost:mysql
$ mysql -h mysqlhost -u mysqluser
Enter password: <paste the copied password>
...
MariaDB [(none)]>

Cooler way

Create an alias
$ alias customerB-mysqlhost-mysqluser='mysql --user mysqluser --host mysqlhost --password=$(pass show Customsers/CustomerB/mysqluser@mysqlhost:mysql)'

Or even cooler with seperate history and defaults file per connection

$ mkdir -p ~/Customsers/CustomerB/.mysql
$ cat > ~/Customsers/CustomerB/.mysql/.my.cnf-mysqlhost-mysqluser << EOF
[client]
host=mysqlhost
user=mysqluser
EOF
$ alias customerB-mysqlhost-mysqluser='MYSQL_HISTFILE=~/Customsers/CustomerB/.mysql/.mysql_history_mysqlhost mysql --defaults-file=~/Customsers/CustomerB/.mysql/.my.cnf-mysqlhost-mysqluser --password=$(pass show Customsers/CustomerB/mysqluser@mysqlhost:mysql)'
Use it
$ customerB-mysqlhost-mysqluser
...
MariaDB [(none)]>

Links