本文详解如何以多种方法实现ssh免密码登陆远程服务器

阅读须知:

1.以下方法操作时请不要随意切换目录。

2.xxx为私钥,xxx.pub是公钥(默认一般文件名为id_rsa和id_rsa.pub,可以在创建的时候自定义文件名)

3.如果是公司给你的公私钥对,你想免密登录公司服务器,你可以直接放到你的~/.ssh文件中,可跳过创建公私钥的步骤

方法一 :客户端生成RSA公钥和私钥

1. 本地创建公私钥

cd ~/.ssh    # 在你的本地打开shell,进入到~/.ssh目录,然后看一下该目录下的文件
ls # 看一下文件,看看有没有已经生成过的公私钥对(xxx和xxx.pub) 分两种情况:
A.第一种情况你没有生成过公私钥对(生成过这个目录下会有类似xxx和xxx.pub 的文件)或者你生成过,但是你想创建一个新的公私钥对
ssh-keygen # 根据交互,输入你想要的名字(默认id_rsa),然后是密码,可以为空,生成公私钥对
ls # 这时候当前目录下会多了一对公私钥对
B.已经有一组公私钥对的可以不生成。

2.将自己的公钥xxx.pub上传到服务器~/.ssh文件中

# 如果服务器没有.ssh文件,终端登录到服务器,输入以下命令:
mkdir ~/.ssh
# 确定服务器有.ssh文件后输入(user是用户名,host是服务器ip,xxx.pub为你的公钥):
scp ~/.ssh/xxx.pub user@host:~/.ssh/xxx.pub
例子:scp ~/.ssh/yzy.pub developer@172.18.69.1:~/.ssh/yzy.pub

3.将服务器刚上传的公钥xxx.pub追加到 服务器的~/.ssh/authorized_keys 文件中

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

4.赋予文件权限

chmod 700 .ssh
chmod 600 authorized_keys

方法二 :用ssh-copy-id

1. 本地创建公私钥

cd ~/.ssh    # 在你的本地打开shell,进入到~/.ssh目录,然后看一下该目录下的文件
ls # 看一下文件,看看有没有已经生成过的公私钥对(xxx和xxx.pub) 分两种情况:
A.第一种情况你没有生成过公私钥对(生成过这个目录下会有类似xxx和xxx.pub 的文件)或者你生成过,但是你想创建一个新的公私钥对
ssh-keygen # 根据交互,输入你想要的名字(默认id_rsa),然后是密码,可以为空,生成公私钥对
ls # 这时候当前目录下会多了一对公私钥对
B.已经有一组公私钥对的可以不生成。

2.使 ssh-copy-id 这个脚本工具把共钥复制到服务器上

# user是用户名,host是服务器地址,还要输入服务器密码
命令:ssh-copy-id -i xxx.pub user@host
例子:ssh-copy-id -i yzy.pub -p 50715 developer@56.45.12.89

3.windows和ubuntu系统可以免密登陆,mac系统免密登陆服务器还需要执行第三步调用ssh-add

# xxx为你的私钥文件
命令:ssh-add -K xxx
例如ssh-add -K yzy

方法三:用expect脚本

1.在某一目录下创建login.sh脚本(最好是用户目录下,即你一打开终端的位置,方便直接使用)

touch login.sh

2.修改下面代码用户名和密码后复制到login.sh文件中

#!/usr/bin/expect -f
# 设置命令第一个参数为host,也可以在脚本里写死
set host [lindex $argv 0]
# 设置用户名(zzz为你的用户名)
set user zzz
# 设置密码(xxx为你的密码)
set password xxx
# 设置超时时间
set timeout 5 spawn ssh $user@$host
expect "*assword:*"
send "$password\r"
interact
expect eof

3.启动脚本登录服务器:sh login.sh

SSH 免密登录服务器的更多相关文章

  1. 配置ssh免密登录服务器

    当前服务器环境为ubantu 14.04 一.本地 ①生成id_rsa   id_rsa.pub ssh-keygen -t rsa -C "xxxxx@xxxxx.com" ss ...

  2. win下使用git-bash工具进行ssh免密登录服务器

    1.ssh-keygen.exe 生成公钥私钥(.pub) 2.ssh-agent.exe bash  指定工具 3.ssh-add.exe   ****   添加私钥 OK

  3. linux服务器ssh免密登录

    环境:两台服务器,Park01.Park02,配置ssh免密登录 在Park01执行:ssh-keygen 然后一直回车 生成节点的公钥和私钥,生成的文件会自动放在/root/.ssh目录下   然后 ...

  4. ssh免密登录linux服务器

    Ssh免密登录 sshd服务 sshd简介: SSH 密钥为登录 Linux 服务器提供了更好且安全的机制.运行 ssh-keygen 后,将会生成公私密钥对.你可以将公钥放置到任意服务器,从持有私钥 ...

  5. jsch配置sftp服务器ssh免密登录

    前期对接了一个通过ssh免密登录的需求,是基于原先密码登录sftp服务器的代码上进行改造,实际上代码改动量非常少,趁此机会对自己整理的资料做一下总结. 1. 什么是SFTP SFTP是一个安全文件传送 ...

  6. 【Linux】两台服务器ssh免密登录

    背景: 有些场景可能用到两台服务器ssh免密登录.比如服务器自动化部署 开始准备:  服务器A  linux   ip: 192.168.1.1 服务器B  linux  ip: 192.168.1. ...

  7. 多台服务器-SSH免密登录设置

    在4台服务器-SSH免密登录设置,如以下4台服务器 master1 node001 node002 node003 我想在master1对4台服务器进行拉取或者分发任务或者是集群服务器的批量操作,但是 ...

  8. linux(十)配置ssh免密登录实现

    知道ssh的朋友应该知道它是用来干什么的,如果你不知道什么是ssh远程登录的话,可以去看一下我的上一篇博客,关于linux的网络基础的知识.备注:ssh是用于远端登入.执行ssh指令开启终端机阶段作业 ...

  9. linux上ssh免密登录原理及实现

    因为我的服务器集群需要回收日志到中央进行统一处理,所以需要建立ssh互信关系实现免密登录.关于ssh的使用大家可能都很熟悉了,我们今天主要来讲下ssh连接和免密登录的原理. scp 传输文件 scp( ...

随机推荐

  1. Echarts导出为pdf echarts导出图表(包含背景)

    Echarts好像是只支持png和jpg的导出,不支持pdf导出.我就想着只能够将png在后台转为pdf了. 首先介绍一下jsp界面的代码. var thisChart = echarts.init( ...

  2. 详细讲解IPython

    ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数.学习ipython ...

  3. Linux的目录介绍

    Linux的目录介绍 Linux系统以目录来组织和管理系统中的所有文件.Linux系统通过目录将系统中所有的文件分级.分层组织在一起,形成了Linux文件系统的树型层次结构.以根目录 “/” 为起点, ...

  4. 使用 Github + Hexo 从 0 搭建一个博客

    最近有几位同学在公众号后台留言问我的博客站是怎么建站的,思来想去,还是写一篇从 0 开始吧. 前置准备 我们先聊一下前置准备,可能很多同学一听说要自己搭一个博客系统,直接就望而却步.不得有台服务器么, ...

  5. Apache+Tomcat负载均衡

    参考:http://www.cnblogs.com/fly_binbin/p/3881207.html 反向代理负载均衡 (Apache2+Tomcat7/8)  使用代理服务器可以将请求转发给内部的 ...

  6. 描述Linux发行版的系统目录名称命名规则以及用途

    linux各种发行版都遵循LSB(Linux Stadards Base)规则,使用一致的相关的基础目录名称,使用根目录系统结构(root filesystem),使用FHS(Files Hierar ...

  7. 智和网管平台SugarNMS助力网络安全运维等保2.0建设

    智和信通智和网管平台SugarNMS结合<信息安全技术 网络安全等级保护基本要求>(GB/T 22239-2019)等国家标准文件以及用户提出的网络安全管理需求进行产品设计,推出“监控+展 ...

  8. NOIP模拟测试6

    看题目就知道这是一个悲伤的故事... 但还有更悲伤的 考崩了,难以描述. T1把数据范围看成2^12,我TM也是够了... T2思路接近正解,但不知道想了个神魔东西跑了N遍dijstra T3最狗了, ...

  9. swoole不断的切换前端链接方法 防止攻击

    php不断的切换前端链接方法 防止攻击 swoole写法 每分钟生成一次url后缀 返回到客户端让他们更新 //定时器要写在WorkerStart这个里面哦$ws->on('WorkerStar ...

  10. PHP获取PHP执行的时间

    php获取PHP执行的时间 <pre> //程序运行时间 $starttime = explode(' ',microtime()); //代码区域 //程序运行时间 $endtime = ...