两个SSH2间免密码登录

SSH2免密码登录OpenSSH
http://blog.csdn.net/aquester/article/details/23836299

OpenSSH免密码登录SSH2
http://blog.csdn.net/aquester/article/details/23836245


以下针对的是ssh2,而不是ssh,也不是OpenSSH。配置分两部分:一是对登录机的配置,二是对被登录机的配置,其中登录机为客户端,被登录机为服务端,也就是解决客户端到服务端的无密码登录问题。下述涉及到的命令,可以直接拷贝到Linux终端上执行,已全部验证通过,操作环境为SuSE 10.1

如何确定是OpenSSH还是SSH2?执行命令“ssh -V”,通过它的输出,即可确定:

SSH2

ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on

OpenSSH

OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

第一步,修改所有被登录机上的sshd配置文件/etc/ssh2/sshd2_config:

1) 将PermitRootLogin值设置为yes,也就是取掉前面的注释号#

2) 将AllowedAuthentications值设置为publickey,password,也就是取掉前面的注释号#

3) 重启sshd服务:service ssh2 restart

第二步,在所有登录机上,执行以下步骤:

1) 进入到.ssh2目录:cd ~/.ssh2

2) ssh-keygen2 -t dsa -P''

-P表示密码,-P''就表示空密码,也可以不用-P参数,但这样就要敲三次回车键,用-P''就一次回车。

成功之后,会在用户的主目录下生成私钥文件id_dsa_2048_a,和公钥文件id_dsa_2048_a.pub。

3) 生成identification文件:echo "IdKey id_dsa_2048_a" >> identification,请注意IdKey后面有一个空格,确保identification文件内容如下:

# cat identification

IdKey id_dsa_2048_a

4) 将文件id_dsa_2048_a.pub,上传到所有被登录机的~/.ssh2目录:scp id_dsa_2048_a.pub root@192.168.0.1:/root/.ssh2,这里假设192.168.0.1为其中一个被登录机的IP。在执行scp之前,请确保192.168.0.1上有/root/.ssh2这个目录,而/root/需要修改为root用户的实际HOME目录,通常环境变量$HOME为用户主目录,~也表示用户主目录,不带任何参数的cd命令也会直接切换到用户主目录。

第三步,在所有被登录机上,执行以下步骤:

1) 进入到.ssh2目录:cd ~/.ssh2

2) 生成或修改authorization文件:echo "Key id_dsa_2048_a.pub" >> authorization,请注意Key后面有一个空格,确保authorization文件内容如下:

# cat authorization

Key id_dsa_2048_a.pub

完成上述工作之后,从登录机到被登录机的ssh登录就不需要密码了。

原文地址:https://www.cnblogs.com/aquester/p/9891627.html