核心思想:

1.本地主机生成公钥私钥,私钥自己存着,公钥传到远程主机.ssh文件夹下authorized_keys文件(默认是这个,用追加的方式)

2.本地连接远程主机,公私钥对上就可以免密登入了.

3.authorized_keys的权限要是600

步骤

主机:

1.生成公钥和私钥文件id_rsa和id_rsa.pub (敲三下回车即可)。

  1. [root@bogon ~]# ssh-keygen -t rsa
  2. Generating public/private rsa key pair.
  3. Enter file in which to save the key (/root/.ssh/id_rsa):
  4. Enter passphrase (empty for no passphrase):
  5. Enter same passphrase again:
  6. Your identification has been saved in /root/.ssh/id_rsa.
  7. Your public key has been saved in /root/.ssh/id_rsa.pub.
  8. The key fingerprint is:
  9. 67:da:0d:79:e0:d6:2b:cd:7d:22:af:51:7e:9c:75:fe root@bogon
  10. The key's randomart image is:
  11. +--[ RSA 2048]----+
  12. | |
  13. | |
  14. | . |
  15. | . + |
  16. | S B o . o|
  17. | * * = o+|
  18. | . o B +.=|
  19. | . + +.|
  20. | ... E|
  21. +-----------------+

2.远程主机上创建~/.ssh目录,权限为700,把~/.ssh/id_rsa.pub从本地追加到远程主机上的~/.ssh/authorized_keys

authorized_keys的权限要是600

ssh 登录一段时间后断开的解决方案

方法1 和2 就够用了

Method 1:
修改 / etc/ssh/sshd_config 配置文件,设置 ClientAliveCountMax 值大一点,单位是分钟。然后重启 ssh 服务使生效:service sshd reload

Method 2:
找到所在用户的. ssh 目录, 如 root 用户该目录在:/root/.ssh/
在该目录创建 config 文件 vi /root/.ssh/config
加入下面一句:ServerAliveInterval 60
保存退出,重新开启 root 用户的 shell,则再 ssh 远程服务器的时候,不会因为长时间操作断开。应该是加入这句之后,ssh 客户端会每隔一段时间自动与 ssh 服务器通信一次,所以长时间操作不会断开。

Method 3:
修改 / etc/profile 配置文件
# vi /etc/profile
增加:TMOUT=1800
这样 30 分钟没操作就自动 LOGOUT

Method 4:
利用 expect 模拟键盘动作,在闲置时间之内模拟地给个键盘响应, 将下列代码保存为 xxx,然后用 expect 执行
#!/usr/bin/expect  
set timeout 60  
spawn ssh user@host   
      interact {          
            timeout 300 {send "\x20"}  
      } 
expect xxx
接着按提示输入密码就可以了,这样每隔 300 秒就会自动打一个空格 (\x20),具体的时间间隔可以根据具体情况设置。

Method 5:
Windows 下 ssh 工具的设置:
secureCRT:选项 --- 终端 --- 反空闲 中设置每隔多少秒发送一个字符串,或者是 NO-OP 协议包
putty:putty -> Connection -> Seconds between keepalives (0 to turn off), 默认为 0, 改为 300.

ssh连接远程主机免密登入的更多相关文章

  1. ssh 免密码登入

    1.普通免密码登入 (1)  生成秘钥 [root@vick ~]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter f ...

  2. ssh免密码登入

    通常做许多事情(git puh/脚本等等),不停输入密码是件很不愉快的事情,破解如下: http://www.linuxproblem.org/art_9.html 1. 生成rsa密钥 ssh-ke ...

  3. linux ssh远程免密码登入

    首先登入一台linux服务器,此台做为母机(即登入其他linux系统用这台做为入口):执行一行命令生成key文件:ssh-keygen -t rsa 2 在母机上,进入/roo/.ssh目录,找到id ...

  4. ssh安全优化免密登陆

    ssh协议 为什么使用ssh协议? 在进行传输时,会对数据进行加密,保证会话安全:telnet协议不是加密传输,在传输过程中如果被抓包,就会造成信息泄露,telnet默认不支持root远程. # 常用 ...

  5. 使用ssh连接远程主机

    在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法.该工具做linux系统的远程管理是非常安全的. ssh登录远程主机(服务器)一般有两种方式:无密钥方式  ...

  6. linux 安装ssh以及ssh用法与免密登录

    想要免费登录就是把本地机器的id_rsa_pub的内容放到远程服务器的authorized_keys里面 一.配置yum和hosts文件 配置hosts文件: 命令:vi /etc/hosts 在文件 ...

  7. ssh公私钥免密登陆

    简介ssh Secure Shell(简写SSH) 为一项建立在应用层和传输层基础上的安全协议,专门为远程登录会话和其他网络服务提供安全性的协议. SSH安全机制分为两种,一种是基于口令的安全认证,一 ...

  8. ssh 主机之间免密配置脚本

    文章目录 单向免密 `expect` 免交互 `sshpass` 免交互 相互免密 单向免密 expect 免交互 注意修改脚本内的 your_password 为 远程主机用户的密码 脚本内的 &q ...

  9. 如何通过linux ssh远程linux不用输入密码登入

    如何通过一台linux ssh远程其他linux服务器时,不要输入密码,可以自动登入.提高远程效率,不用记忆各台服务器的密码. 工具/原料   ssh,ssh-keygen,scp 方法/步骤   首 ...

随机推荐

  1. MATLAB2010安装方法

    MATLAB2010安装方法 第一步选择无网络安装. 选择yes,然后点击next 激活序列号在crack文件夹中的txt文档中 这一步按照图片上的显示操作就可以 选择经典安装 按提示操作,这一步事激 ...

  2. 图像PNG格式介绍

    1 图像png格式简介 PNG是20世纪90年代中期开始开发的图像文件存储格式,其目的是企图替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性.流式网络图形格式(PortableN ...

  3. POJ--3461

    原题链接:http://poj.org/problem?id=3461 分析:求一个串在另一个串中出现的次数,显然用KMP可以解决. #include<cstdio> #include&l ...

  4. php数组定义

    $arr = array( ,), //是’0' ,不是[‘0’] ,), ,), ,), ); $arr = [ '0' => array(2,3), //是’0' ,不是[‘0’] '1' ...

  5. CF864 E DP 输出路径

    n个物品有Deadline,拿物品需要花费时间,问取得最大价值的方案. 本质是个01背包,先按时间排序,然后把花费的时间作为背包就行了. 主要就是找方案,倒过来找发生转移的就行了. 太菜了真的不会打C ...

  6. 搭建简单的node+express+mongodb项目

    安装 首先要确保已经安装了 Node.js,接下来创建一个目录,然后进入此目录并将其作为当前工作目录. mkdir myapp cd myapp 通过 npm init 命令为应用创建一个 packa ...

  7. 【BZOJ】3143: [Hnoi2013]游走 期望+高斯消元

    [题意]给定n个点m条边的无向连通图,每条路径的代价是其编号大小,每个点等概率往周围走,要求给所有边编号,使得从1到n的期望总分最小(求该总分).n<=500. [算法]期望+高斯消元 [题解] ...

  8. Spring Boot中使用log4j实现http请求日志入mongodb

    之前在<使用AOP统一处理Web请求日志>一文中介绍了如何使用AOP统一记录web请求日志.基本思路是通过aop去切web层的controller实现,获取每个http的内容并通过log4 ...

  9. POJ - 1330 Nearest Common Ancestors 最近公共祖先+链式前向星 模板题

    A rooted tree is a well-known data structure in computer science and engineering. An example is show ...

  10. 【CF343D】 Water Tree(树链剖分)

    题目链接 树剖傻逼题,练练手好久没写树剖了. 查询忘记\(pushdown\)抓了好久虫.. 全文手写,一遍过... #include <cstdio> const int MAXN = ...