一、概述
1、就是为了让两个linux机器之间使用ssh不需要用户名和密码。采用了数字签名RSA或者DSA来完成这个操作
2、模型分析
假设 A (192.168.20.59)为客户机器,B(192.168.20.60)为目标机;
要达到的目的:
A机器ssh登录B机器无需输入密码;
加密方式选 rsa|dsa均可以,默认dsa
二、具体操作流程
单向登陆的操作过程(能满足上边的目的):
1、登录A机器
2、ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
3、将 .pub 文件复制到B机器的 .ssh 目录,并 cat id_dsa.pub >> ~/.ssh/authorized_keys
4、大功告成,从A机器登录B机器的目标账户,不再需要密码了;(直接运行#ssh 192.168.20.60)
双向登陆的操作过程:
1、ssh-keygen做密码验证可以使在向对方机器上ssh ,scp不用使用密码.具体方法如下:
2、两个节点都执行操作:#ssh-keygen -t rsa
然后全部回车,采用默认值.
3、这样生成了一对密钥,存放在用户目录的~/.ssh下。
将公钥考到对方机器的用户目录下,并将其复制到~/.ssh/authorized_keys中(操作命令:#cat id_dsa.pub >> ~/.ssh/authorized_keys)。
4、双向的设置文件和目录权限:
设置.ssh目录权限
$ chmod 700 -R .ssh
设置authorized_keys权限
目标机器
$ chmod 400 authorized_keys
本机
$ chmod 400 .ssh/id_dsa
5、要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。(今天就是遇到这个问题,找了好久问题所在),其实仔细想想,这样做是为了不会出现系统漏洞。
我从20.60去访问20.59的时候会提示如下错误:
-
Theauthenticityofhost'192.168.20.59(192.168.20.59)'can'tbeestablished.
-
RSAkeyfingerprintis6a:37:c0:e1:09:a4:29:8d:68:d0:ca:21:20:94:be:18.
-
Areyousureyouwanttocontinueconnecting(yes/no)?yes
-
Warning:Permanentlyadded'192.168.20.59'(RSA)tothelistofknownhosts.
-
root@192.168.20.59'spassword:
-
Permissiondenied,pleasetryagain.
-
root@192.168.20.59'spassword:
-
Permissiondenied,pleasetryagain.
-
root@192.168.20.59'spassword:
-
Permissiondenied(publickey,gssapi-with-mic,password).
三、总结注意事项
1、文件和目录的权限千万别设置成chmod 777.这个权限太大了,不安全,数字签名也不支持。我开始图省事就这么干了
2、生成的rsa/dsa签名的公钥是给对方机器使用的。这个公钥内容还要拷贝到authorized_keys
3、linux之间的访问直接 ssh 机器ip
4、某个机器生成自己的RSA或者DSA的数字签名,将公钥给目标机器,然后目标机器接收后设定相关权限(公钥和authorized_keys权限),这个目标机就能被生成数字签名的机器无密码访问了
分享到:
相关推荐
使用 ssh-keygen 时,请先进入到 ~/.ssh 目录,不存在的话,请先创建。并且保证 ~/.ssh 以及所有父目录的权限不能大于 711 生成的文件名和文件位置 使用 ssh-kengen 会在~/.ssh/目录下生成两个文件,不指定文件名和...
利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。 SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。 为了在不同平台/网络主机之间的通信安全, 很多时候我们都要通过ssh进行认证. ssh认证...
1.Linux下生成密钥 ssh-keygen的命令手册,通过”man ssh-keygen“命令: 通过命令”ssh-keygen -t rsa“ 生成之后会在用户的根目录生成一个 “.ssh”的文件夹 ... 1) .ssh目录的权限必须是
问题 [root@hadoop1 sbin]# ssh-copy-id hadoop1 /usr/bin/ssh-copy-id: ERROR: failed to open ID file '...[root@hadoop1 sbin]# ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to
ssh-keygen -t rsa ...执行该操作将在/home/user/.ssh下生成id_rsa,...#2、在B机器上做步骤1或自行创建/home/user/.ssh文件夹,注意文件夹权限设置为700,将id_rsa.pub拷贝到B机器上 scp id_rsa.pub B:~/.ssh/A.id_rsa.pub
本文实例为大家分享了jaLinux配置远程SSH无密码...ssh-copy-id也会给远程主机的用户主目录(/home)和/root/.ssh和/root/.ssh/authorized_key设置合适的权限 1)创建公钥和密钥 [root@test ~]# ssh-keygen -t rsa
每次登录测试服务器,ssh登录总是需要输入密码。登录的少还行,登录的多了,多一行命令都是多余的。 rsa认证登录方式 制作密钥对 在客户端(本地机器)终端下输入以下命令 ....ssh 是隐藏文件夹 使用 l
很简单,使用ssh-keygen 在主机A上生成private和public密钥,将生成的public密钥拷贝到远程机器主机B上后,就可以使用ssh命令无需密码登录到另外一台机器主机B上。 三、步骤 主机A: 1、 生成公钥和私钥文件id_rsa和...
命令:ssh-keygen -t rsa 4、将.ssh文件中的id_isa_pub复制到其他机器的authorized_keys下。并修改authorized_keys权限为600。 5、ssh nodeXX即可 您可能感兴趣的文章:Linux下SSH免密码登录配置详解
设置ssh密钥的最简单方法 转到您的用户家 $ cd ~ 创建一个“ .ssh”文件夹 $ mkdir ~ /.ssh 运行“ ssh-keygen”以生成密钥 $ ssh-keygen 请按Enter键以发送下一个请求。 创建“ authorized_keys”和“ known_hosts...
ssh-keygen 遵循提示并输入密码 将生成两个文件,一个是公用密钥id_rsa.pub ,另一个是私有密钥id_rsa cd /root/.ssh cat id_rsa.pub >> authorized_keys 该操作完成了安装rsa的跳过 然后,您需要使用授予的写权限...
linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。 有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。 首先以root账户登陆为例。 1.在A机下生成公钥/私钥对。 [root@A ~]# ...
这篇文章的安装流程写得很明了,但使用中还是遇到了些许问题,本文算是该流程的补充。如果打算通过Gitosis架设服务器通过本文或许可以少走不少弯路。 一、架设步骤 1. 下载并安装python setuptools sudo apt-get ...
单机模式部署 一、Jdk安装 ...建立SSH KEY:ssh-keygen -t rsa --P "" 启用SSH KEY:cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys sudo /etc/init.d/ssh reload 验证SSH的配置:ssh localhost
1. 自动ssh/scp方法 A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A上运行命令:# ssh-keygen -t rsa (连续三次回车,即在本地生成了...
6)、用ssh-keygen -t rsa生成各自密钥,三个结点都要各自生成 7)、三个结点分别用命令chmod 700 /home/hadoop/.ssh/ && chmod 700 /home/hadoop/ #设置目录hadoop、.ssh的权限 8)、三个结点各自生成的密钥文件id_...
1. ssh-keygen -t rsa 此时ssh公钥和私钥已经生成完毕,且放置在~/.ssh目录下。切换到~/.ssh目录下 1. cd ~/.ssh 可以看到~/.ssh目录下的文件 下面在~/.ssh目录下,创建一个空文本,名为authorized_keys 1. ...
运行环境:本地需要先安装好expect ,believe.sh ,sshcopy.exp ,sshkeygen.exp 三个文件都要具有可执行权限。 sshcopy.exp文件的第七行需要注意,根据自己的情况进行是否注释。 这里的expect脚本都开启了调试参数,...
xiaosi@xiaosi:~$ ssh-keygen -t rsa -f ~/.ssh/id_rsa Generating public/private rsa key pair. Created directory '/home/xiaosi/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase ...
ssh-keygen -t rsa -C " " ssh 添加 ~/.ssh/id_rsa 提供对应用程序的 git 读取访问权限 须藤 apt-get 安装 xclip xclip -sel 剪辑 < ~/.ssh/id_rsa.pub 现在公钥被复制。 在 Github,有一个名为 Deploy-Keys...