A为本地主机(即用于控制其他主机的机器) ;

B为远程主机(即被控制的机器Server), 假如ip为172.24.253.2 ;
 
 
在A上的命令:
 ssh-keygen -t rsa 
(连续三次回车,即在本地生成了公钥和私钥,不设置密码,生成的公钥私钥在~/.ssh目录下,id_rsa是私钥, id_rsa.pub是公钥 )
ssh muye@172.24.253.2
mkdir .ssh
chmod .ssh
(需要输入密码, 注:必须将.ssh的权限设为700)
scp ~/.ssh/id_rsa.pub muye@172.24.253.2:~/.ssh
然后在服务器上建立authorized_keys文件:
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
 (注意: 必须将~/.ssh/authorized_keys的权限改为600, 该文件用于保存ssh客户端生成的公钥,可以修改服务器的ssh服务端配置文件/etc/ssh/sshd_config来换文件名,默认是叫authorized_keys)
cat id_rsa.pub  >> authorized_keys
# (将id_rsa.pub的内容追加到 authorized_keys 中, 注意不要用 > ,否则会清空原有的内容,使其他人无法使用原有的密钥登录)
 
回到A机器:
# ssh muye@172.24.253.2 (不需要密码, 登录成功)
 
从表面上简单的理解一下登录的过程,
首先 ssh-keygen -t rsa 命令生成了一个密钥和一个公钥, 而且密钥可以设置自己的密码
可以把密钥理解成一把钥匙, 公钥理解成这把钥匙对应的锁头,
把锁头(公钥)放到想要控制的server上, 锁住server, 只有拥有钥匙(密钥)的人, 才能打开锁头, 进入server并控制
而对于拥有这把钥匙的人, 必需得知道钥匙本身的密码,才能使用这把钥匙 (除非这把钥匙没设置密码), 这样就可以防止钥匙被了配了(私钥被人复制)
 
更简洁的方式:
步骤1、如果服务器上没有authorized_keys文件,则:(如果有则跳过这一步)
ssh muye@172.24.253.2
mkdir .ssh
chmod .ssh
touch ~/.ssh/authorized_keys
chmod ~/.ssh/authorized_keys
步骤2、在本机:
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub muye@172.24.253.2
ssh-keygen -t rsa之后三下回车,表示无密码。即可。(注: ssh-copy-id 自动把密钥追加到远程主机的 .ssh/authorized_key 上)

linux ssh rsa免输入密码的更多相关文章

  1. Linux ssh 不需要输入密码的方法

    采用证书的方法可以解决ssh不需要输入密码的问题. 本文采用CentOS的操作系统,创建SSH的key,并在两台或多台机器间实现信任.从而实现SSH登录不需要输入密码的功能. 首先,在一台机器上创建S ...

  2. linux 无交互生成ssh rsa免秘证书

    [root@xxx tmp]# man ssh-keygen NAME ssh-keygen - authentication key generation, management and conve ...

  3. linux ssh远程免登陆

    一.备份: 操作之前先将/root/.ssh/下的known_hosts备份成known_hosts.bak

  4. linux ssh公钥免密码登录

    ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 一.SSH公钥登录原理 在平时工作中我们经常要远程登录服务器,这就要用到SSH ...

  5. Linux ssh双向免密认证

    一.实现原理 使用一种被称为"公私钥"认证的方式来进行ssh登录."公私钥"认证方式简单的解释是: 首先在客户端上创建一对公私钥(公钥文件:~/.ssh/id_ ...

  6. linux ssh远程免密码登入

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

  7. linux ssh scp免密码

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

  8. linux ssh免密登陆

    大致流程: 两台linux系统A B 如果A要登陆到B 1.生成A的密钥对 2.将A的公钥拷贝到B的authorized_keys中即可 可以使用命令:ssh-copy-id -i ~/.ssh/id ...

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

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

随机推荐

  1. Flash3D引擎:Away3D 4.1 Alpha版介绍

    转自:http://www.cnblogs.com/njflash/archive/2013/01/31/2886912.html Away3D团队和基金会很高兴地宣布首次发布下一个主要的Away3D ...

  2. (转载)C++ const成员初始化问题

    (转载)http://www.189works.com/article-45135-1.html Const成员如其它任何成员一样,简单考虑其出现在三个位置:全局作用域.普通函数内部.类里面. 下面请 ...

  3. linux 给用户添加进新的组

    给用户user1添加一个新的组group1 usermod -G group1 #给当前登录用户所在组设置为 group1 注意:上面的命令有个问题需要知道,这个操作是重置用户所在组,也就是会让当前用 ...

  4. C# WinForm窗体界面设置问题

    设置方法: 一:Form对象 属性: 设计中的Name:窗体类的类名AcceptButton:窗口的确定按钮CancelButton:窗口按ESC的取消按钮 1.外观 Backcolor:背景颜色Fo ...

  5. EF-CodeFirst-表关系-延迟/贪婪加载

    表关系建立: http://blog.csdn.net/niewq/article/details/17232321 一对多: namespace LckLib.EF.V6.Models { publ ...

  6. JavaScript浏览器本地数据存储

    浏览器本地存储主要使用的是sessionStorage和localStorage.两者都支持,sessionStorage保存的是浏览器和服务器的一次对话信息,只在一次回话中有效.当在新标签页或新窗口 ...

  7. 三个数从小到大排序—南阳acm

    问题描述: 现在要写一个程序,实现给三个数排序的功能     输入        输入三个正整数    输出       给输入的三个正整数排序       样例输入 20 7 33      样例输 ...

  8. [置顶] 在Ubuntu下实现一个简单的Web服务器

    要求: 实现一个简单的Web服务器,当服务器启动时要读取配置文件的路径.如果浏览器请求的文件是可执行的则称为CGI程序,服务器并不是将这个文件发给浏览器,而是在服务器端执行这个程序,将它的标准输出发给 ...

  9. UVA 10557 XYZZY

    Problem D: XYZZY ADVENT: /ad�vent/, n. The prototypical computer adventure game, first designed by W ...

  10. GC overhead limit exceeded解决

    java.lang.OutOfMemoryError: GC overhead limit exceeded解决   一.异常如下:Exception in thread "main&quo ...