扩展:ssh代理
ssh-agent简介
SSH代理程序,可用来管理私钥
作用:
1、使用不同的密钥连接到不同的主机时,无需手动指定对应的密钥。
2、当私钥设置了密码,免去输入密码的操作。
启动ssh-agent
有两种启动方式
$ ssh-agent $SHELL
$ eval `ssh-agent`
使用pstree命令查看当前sshd进程树如下

第一种方式启动,会在当前shell中启动一个子shell运行ssh-agent

第二种方式启动,会直接启动一个ssh-agent进程,退出当前shell并不能关闭ssh-agent进程,需要手动使用ssh-agent -k关闭。

使用ssh-agent
1、添加私钥到ssh代理中
$ ssh-add ~/.ssh/id_rsa_tz
2、当私钥设置密码后,使用ssh-agent代理无需输入密码
#生成密钥对,并指定私钥密码
$ ssh-keygen -f ~/.ssh/id_rsa_tz -P '123456'
#将公钥发给远程主机
$ ssh-copy-id -i ~/.ssh/id_rsa_tz.pub root@10.154.0.112
#启动ssh-agent
$ ssh-agent bash
$ ssh-add ~/.ssh/id_rsa_tz #加入有密码的私钥,会提示输入私钥的密码
$ ssh 10.154.0.112 #无需输入私钥密码即可登录
3、查看代理已添加的私钥
$ ssh-add -l
2048 SHA256:ofP2aOxTudpTSklkUB73yQdWU8JpraFmbA0gzY7VMiU /root/.ssh/id_rsa_tz (RSA)
2048 SHA256:GHNvSRewH5wTR4ohCj0uEX+ENlJz6bAHkhpZAKTR0og /root/.ssh/id_rsa (RSA)
4、查看私钥对应的公钥内容
$ ssh-add -L
#公钥太长,省略了中间部分内容
ssh-rsa AAAAB3NzaLvo/VlHLs4OaH...LEA1euopv00AxjM9JhN5XwNyb /root/.ssh/id_rsa_tz
ssh-rsa AAAAB3NzaC1yc1euopv00A...opv00AEAAjpykZjgKkTam5R9z /root/.ssh/id_rsa
5、移除添加的私钥
$ ssh-add -d /root/.ssh/id_rsa_tz
#移除全部添加的私钥
$ ssh-add -D
6、为ssh代理设置密码并锁定
$ ssh-add -x #输入设置的密码,并锁定ssh代理,锁定期间无法使用ssh代理
$ ssh-add -X #解锁
学习来自:朱老师博客
今天的学习是为了以后的工作更加的轻松!

浙公网安备 33010602011771号