ssh免秘钥登陆实现

Posted 奔跑的大白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh免秘钥登陆实现相关的知识,希望对你有一定的参考价值。

1.用处

  搭建集群或者工作中登陆跳板机经常需要做免秘钥互相登陆彼此服务器。

2. 准备工作
   假设A主机10.20.0.1想通过ssh登录到B主机10.20.0.2上。
   那么客户端(A主机)需要安装ssh客户端软件,服务器端(B主机开机sshd进程)需要安装ssh服务器软件。
   ssh客户端Linux发行版一般都自带的,对于ssh服务器端,Ubuntu用户可以sudo apt-get install openssh-server来安装,其他Linux用户也安装openssh-server即可。
   在各自的$HOME目录下都有一个.ssh隐藏目录。
3. 生成密钥
   在A主机,cd $HOME/.ssh
         运行命令ssh-keygen -t dsa 生成密钥。(dsa换成rsa,即是使用rsa加密算法生成密钥了)
         一路Enter键确认下来,当然遇到"yes/no?"一般选yes就好了。
4. 分发密钥(公钥)
   在A主机,scp ~/.ssh/id_dsa.pub  [email protected]:~/.ssh/id_dsa.pub
   此过程中需要输入B主机的userB的密码。
   然后,在B主机:cat ~/.ssh/id_dsa.pub  >> ~/.ssh/authorized_keys (将id_dsa.pub的内容追加到 authorized_keys中)
5. 享受免登陆
   在A主机:ssh [email protected]  不需输入密码即可登录B主机;
   当然 scp test [email protected] 远程拷贝也不需输入密码了(scp基于ssh协议嘛);
   还可以ssh远程执行B主机上的命令或执行脚本,比如:
   ssh test [email protected] ‘apache2 -k start‘ #启动B主机上的Apache服务;
   远程执行多条命令可用分号隔开,如:ssh test [email protected] ‘ls;pwd‘

以上是关于ssh免秘钥登陆实现的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习之免秘钥登陆

linux系统下ssh免秘钥登录

CentOS7的SSH免秘钥认证

ssh目录权限说明

ssh免秘钥登录

ssh免秘钥认证-复制