A机:192.168.1.1
B机:192.168.1.2
二、双机建立信任
1、在A机生成秘钥证书
在root下执行ssh-keygen命令,一路回车,生成秘钥证书
# ssh-keygen -t rsa
2、查看生成秘钥文件
# cd ~/.ssh
# ll
文件:私钥证书id_rsa、公钥证书id_rsa.pub
3、A对B建立信任关系
3.1 将公钥证书id_rsa.pub复制到机器B的root家目录的.ssh子目录中,同时将文件名更换为authorized_keys
# scp -r id_rsa.pub root@192.168.1.2:/root/.ssh/authorized_keys
3.2 若3.1报错:No such file or directory
使用:# ssh-copy-id -i id_rsa.pub root@192.168.1.2
ssh-copy-id命令会自动将id_rsa.pub文件的内容追加到远程主机root用户下.ssh/authorized_keys文件中
3.3 查看B机器是否接收
# ssh 192.168.1.2
# cd .ssh/
# ls
# cat authorized_keys
# exit
3.4 B对A建立信任,同上3的 *** 作步骤
linuxssh指定秘钥交换算法如下:客户端向目标服务器发送登录请求。在SSH服务启用了证书验证登录方式后,会优先通过证书验证方式进行登录验证。目标服务器根据SSH服务配置,在用户对应目录及文件中读取到有效的公钥信息。目标服务器生成一串随机数,然后使用相应的公钥对其加密。目标服务器将加密后的密文发回客户端。客户端使用默认目录或-i参数指定的私钥尝试解密。如果解密失败,则会继续尝试密码验证等其它方式进行登录校验。如果解密成功,则将解密后的原文信息重新发送给目标服务器。意思类似于:“看,这是这段话的原文。我能读懂发过来的密文,我拥有服务器的控制权,请让我登录。目标服务器对客户端返回的信息进行比对。如果比对成功,则表示认证成功,客户端可以登录。如果对比失败,则表示认证失败,则会继续尝试密码验证等其它方式进行登录校验。
因为在使用repo git下载代码时需要使用ssh方式,目前下载代码的方式不支持密码方式,仅支持ssh-key的方式,那么需要下载代码的用户请根据以下方法在本地生成ssh-key,然后将对应的证书文件发送给版主或者管理员,当获取下载代码权限后可以直接下载; 访问权限的设定,新的git库采用证书认证的方式,请在你们的本机上执行: # ssh-keygen 根据提示输入信息后会在~/.ssh目录下生成id_rsa.pub文件和id_rsa文件。请将id_rsa.pub文件发给我(版主)。然后在使用ssh的时候使用id_rsa证书。 linux和MacOS使用ssh登录时会自动提供生成的ssh证书。windows上可以考虑使用xshell或者putty创建证书。 目前没有提供密码登录。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)