`
tianya_xiaocao
  • 浏览: 10846 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

ssh-keygen的使用方法 注意权限问题

 
阅读更多


一、概述

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的时候会提示如下错误:

  1. Theauthenticityofhost'192.168.20.59(192.168.20.59)'can'tbeestablished.
  2. RSAkeyfingerprintis6a:37:c0:e1:09:a4:29:8d:68:d0:ca:21:20:94:be:18.
  3. Areyousureyouwanttocontinueconnecting(yes/no)?yes
  4. Warning:Permanentlyadded'192.168.20.59'(RSA)tothelistofknownhosts.
  5. root@192.168.20.59'spassword:
  6. Permissiondenied,pleasetryagain.
  7. root@192.168.20.59'spassword:
  8. Permissiondenied,pleasetryagain.
  9. root@192.168.20.59'spassword:
  10. Permissiondenied(publickey,gssapi-with-mic,password).

三、总结注意事项

1、文件和目录的权限千万别设置成chmod 777.这个权限太大了,不安全,数字签名也不支持。我开始图省事就这么干了

2、生成的rsa/dsa签名的公钥是给对方机器使用的。这个公钥内容还要拷贝到authorized_keys

3、linux之间的访问直接 ssh 机器ip

4、某个机器生成自己的RSA或者DSA的数字签名,将公钥给目标机器,然后目标机器接收后设定相关权限(公钥和authorized_keys权限),这个目标机就能被生成数字签名的机器无密码访问了

分享到:
评论

相关推荐

    SSH的ssh-keygen命令基本用法详解

    使用 ssh-keygen 时,请先进入到 ~/.ssh 目录,不存在的话,请先创建。并且保证 ~/.ssh 以及所有父目录的权限不能大于 711 生成的文件名和文件位置 使用 ssh-kengen 会在~/.ssh/目录下生成两个文件,不指定文件名和...

    Linux 配置SSH免密登录 “ssh-keygen”的基本用法

    利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。 SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。 为了在不同平台/网络主机之间的通信安全, 很多时候我们都要通过ssh进行认证. ssh认证...

    Linux下实现免密码登录(超详细)

    1.Linux下生成密钥  ssh-keygen的命令手册,通过”man ssh-keygen“命令:  通过命令”ssh-keygen -t rsa“  生成之后会在用户的根目录生成一个 “.ssh”的文件夹 ... 1) .ssh目录的权限必须是

    在配置SSH免密登录时报错:/usr/bin/ssh-copy-id: ERROR: failed to open ID file ‘/root/.pub’: 没有那个文件或目录

    问题 [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

    030102设置ssh互信及无密码登录

    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

    Linux配置远程SSH无密码登录

    本文实例为大家分享了jaLinux配置远程SSH无密码...ssh-copy-id也会给远程主机的用户主目录(/home)和/root/.ssh和/root/.ssh/authorized_key设置合适的权限 1)创建公钥和密钥 [root@test ~]# ssh-keygen -t rsa

    设置ssh无密码登录linux服务器的方法

    每次登录测试服务器,ssh登录总是需要输入密码。登录的少还行,登录的多了,多一行命令都是多余的。 rsa认证登录方式 制作密钥对 在客户端(本地机器)终端下输入以下命令 ....ssh 是隐藏文件夹 使用 l

    linux远程登录ssh免密码配置方法

    很简单,使用ssh-keygen 在主机A上生成private和public密钥,将生成的public密钥拷贝到远程机器主机B上后,就可以使用ssh命令无需密码登录到另外一台机器主机B上。 三、步骤 主机A: 1、 生成公钥和私钥文件id_rsa和...

    Ubuntu下如何设置ssh免密码登录安装

    命令:ssh-keygen -t rsa 4、将.ssh文件中的id_isa_pub复制到其他机器的authorized_keys下。并修改authorized_keys权限为600。 5、ssh nodeXX即可 您可能感兴趣的文章:Linux下SSH免密码登录配置详解

    creation_ssh_keys_standard_edition:按照说明创建ssh密钥

    设置ssh密钥的最简单方法 转到您的用户家 $ cd ~ 创建一个“ .ssh”文件夹 $ mkdir ~ /.ssh 运行“ ssh-keygen”以生成密钥 $ ssh-keygen 请按Enter键以发送下一个请求。 创建“ authorized_keys”和“ known_hosts...

    ssh_rsa

    ssh-keygen 遵循提示并输入密码 将生成两个文件,一个是公用密钥id_rsa.pub ,另一个是私有密钥id_rsa cd /root/.ssh cat id_rsa.pub >> authorized_keys 该操作完成了安装rsa的跳过 然后,您需要使用授予的写权限...

    Linux使用ssh公钥实现免密码登录实例

    linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。 有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。 首先以root账户登陆为例。 1.在A机下生成公钥/私钥对。 [root@A ~]# ...

    gitosis git服务器架设软件

    这篇文章的安装流程写得很明了,但使用中还是遇到了些许问题,本文算是该流程的补充。如果打算通过Gitosis架设服务器通过本文或许可以少走不少弯路。 一、架设步骤 1. 下载并安装python setuptools sudo apt-get ...

    Ubuntu_Hadoop部署笔记

    单机模式部署 一、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

    ssh自动登录的4种实现方法

    1. 自动ssh/scp方法 A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A上运行命令:# ssh-keygen -t rsa (连续三次回车,即在本地生成了...

    CentOS7配置有三个结点的Hadoop集群的免密登录总的原则

    6)、用ssh-keygen -t rsa生成各自密钥,三个结点都要各自生成 7)、三个结点分别用命令chmod 700 /home/hadoop/.ssh/ && chmod 700 /home/hadoop/ #设置目录hadoop、.ssh的权限 8)、三个结点各自生成的密钥文件id_...

    (1)Hadoop伪分布模式安装.docx

    1. ssh-keygen -t rsa 此时ssh公钥和私钥已经生成完毕,且放置在~/.ssh目录下。切换到~/.ssh目录下 1. cd ~/.ssh 可以看到~/.ssh目录下的文件 下面在~/.ssh目录下,创建一个空文本,名为authorized_keys 1. ...

    ssh-batch-believe:批量实现多台服务器之间ssh无密码登录的相互信任关系

    运行环境:本地需要先安装好expect ,believe.sh ,sshcopy.exp ,sshkeygen.exp 三个文件都要具有可执行权限。 sshcopy.exp文件的第七行需要注意,根据自己的情况进行是否注释。 这里的expect脚本都开启了调试参数,...

    Hadoop SSH免密码登录以及失败解决方案

    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 ...

    Gheroku:用于将最新代码从 Github(私有存储库)自动部署到 Heroku App 的工具

    ssh-keygen -t rsa -C " " ssh 添加 ~/.ssh/id_rsa 提供对应用程序的 git 读取访问权限 须藤 apt-get 安装 xclip xclip -sel 剪辑 < ~/.ssh/id_rsa.pub 现在公钥被复制。 在 Github,有一个名为 Deploy-Keys...

Global site tag (gtag.js) - Google Analytics