码迷,mamicode.com
首页 > 其他好文 > 详细

配置SSH无密码访问

时间:2015-05-17 00:52:37      阅读:323      评论:0      收藏:0      [点我收藏+]

标签:ssh设置   ssh无密码登陆   

二:SSH无密码访问远程机器

(1)首先确保Linux系统已经安装ssh服务

安装方法:apt-get install ssh

安装完成后,验证是否SSH安装成功:ssh -V  

结果显示ssh版本证明成功

查看Server端zyp用户家目录下是否存在隐藏目录".ssh"

在安装ssh完成后,进入zyp用户家目录,使用命令:ls -al    查看目录结构中是否存在隐藏目录“.ssh”

若存在,则操作正确,若不存在,解决方法如下:

1)按照步骤一,重新安装一遍ssh服务

2)若安装成功后还不存在".ssh"目录,则使用mkdir  .ssh   在家目录下新建一个.ssh目录

一般来说,多数系统在安装完ssh服务后,默认都会自动建立“ssh”隐藏目录,只有少数需要手动创建。

(2)Client端生成公钥和密钥

技术分享

我们使用RSA密钥认证的目的是:从Client端登陆Server端时,不需要密码认证。

所以,我们在进行认证时首先需要在Client端建立属于Client端自己的一对密钥(公钥和私钥),建立方法如下:

在命令行下执行:ssh-keygen 

执行过程中,它先要求你确认保存公钥的位置(默认为:.ssh/id_rsa),

然后它会让你重复输入一个密码两次,如果不想在使用公钥的时候输入密码,可以留空

执行完毕后,就会生成数据Client端的一对密钥。

SSH 密钥默认储存在账户的家目录下的 ~/.ssh 目录中

关键是看有没有用 xxx_rsa 和 xxx_rsa.pub 来命名的一对文件,有 .pub 后缀的文件就是公钥,另一个文件则是密钥。

生成的一对公私钥,顾名思义:公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。

(3)将Client端的公钥添加到用于认证的Server端的公钥文件中

技术分享

首先检查Server端需要认证的zyp用户的家目录下,隐藏目录“ssh”目录下是否存在一个名为“authorized_keys”的文件,

若不存在,使用命令:touch authorized_keys 创建一个空文件

创建完成后,则可以执行如下步骤:

执行步骤如下:

1)将Clinet端公钥的内容复制

2)将复制到的Client端公钥内容,粘贴至Server端刚才创建的 authorized_keys 文件中,保存文件。

3)更改 authorized_keys 文件的权限

执行命令:chmod 600  authorized_keys

Client公钥内容格式大概如下:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzKGjCrHNCPCT96TTl8j1UtJ10V9a3fLIdx6R0upKP2N7FJP82Nni/vmAx7UVDhUNCgyfyG5Y6wK8AK2hOGjKLfLdfyYPojwmx3MF8KTspZBmmYKbHWh6Aem4TskRmsHOSpWeqns7o3tle0Ln1GMmPpdFph/owa7vj5/JYSOCBX8c+gGFyJeAMHGTs1fnHhGZRl5mzu8mWIv+qJnDxRmE/jBtuNXzSrPeZ2Cz86U+DfWtXVRyEl9XoIotX+GZ/zPxvPoMoItWD3UL6aA8McCX/PE7BLFA4B1Nl+mefTVpHH39AqcyqkcAJxntoqeNU3IwaM7sx/J7ONrFxp9Z3fjVR zyp@Client

(4)验证无密码登陆

在Client端命令行执行如下命令:

ssh -p12  zyp@10.2.31.33     (本例ssh服务开在了12端口,默认为22)

直接登陆至Server端,表示验证成功。

(5)回顾一下简要的步骤

配置SSH无密码登录,大概需要3步:

    1.生成公钥和私钥

    2.导入公钥到认证文件,更改权限

    3.测试

1.生成公钥和私钥,Shell代码 :

  ssh-keygen -t rsa
   默认在 ~/.ssh目录生成两个文件:
    id_rsa      :私钥

    id_rsa.pub  :公钥

2.导入公钥到认证文件,更改权限

    2.1 导入本机 Shell代码 :

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  

    2.2 导入要免密码登录的服务器

        首先将公钥复制到服务器,Shell代码: 
    scp ~/.ssh/id_rsa.pub xxx@host:/home/xxx/id_rsa.pub  
        然后,将公钥导入到认证文件,这一步的操作在服务器上进行,Shell代码: 

    cat ~/id_rsa.pub >> ~/.ssh/authorized_keys 

    2.3 在服务器上更改权限,Shell代码: 

    chmod 700 ~/.ssh

    chmod 600 ~/.ssh/authorized_keys  

3.测试

    ssh host,第一次登录可能需要yes确认,之后就可以直接登录了。

4,可以直接执行命令

ssh 10.207.139.62 ‘hostname‘

以上参考自:http://www.cnblogs.com/shuaiwhu/archive/2010/08/24/2065091.html 和 http://chenlb.iteye.com/blog/211809

配置SSH无密码访问

标签:ssh设置   ssh无密码登陆   

原文地址:http://blog.csdn.net/u010700335/article/details/45772953

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!