SSH不输入密码连接远程Linux主机

转载 2007年01月16日 13:36:00

SSH不输入密码连接远程Linux主机

机 理:公/私密钥验证。公钥(public key)用于加密,私钥(private key)用于对使用其匹配的公钥加密的数据进行解密。在本地机器生成一个密钥对,把公钥放到远程主机,然后从本地机器发起ssh连接,远程主机的sshd 产生一个随机数并用此公钥进行加密后发给本地机器,本地机器使用私钥进行解密并将结果发回,远程主机验证结果无误后准予登陆。

步骤:
注:密钥需要与远程Linux主机上的SSH系统相匹配。openSSH是Linux上默认的SSH系统,因此这里的内容只适用于openSSH。
1. 生成密钥对。
(1)Linux
$ ssh-keygen -t rsa
这 个命令生成一个密钥对:id_rsa和id_rsa.pub。他们默认被保存在~/.ssh/目录下。可以将id_rsa.pub改名为 local_rsa.pub以免与远程主机上的id_rsa.pub重名。在生成过程中会要求输入pass phrase,这个是用来保护私钥的使用的,即每次你使用私钥的时候需要先输入这个密码,因此这里不要输入任何字符,直接回车。
(2)Windows + putty
需 要用putty-gen.exe来生成密钥。运行putty-gen.exe后,点击“Generate”按钮生成密钥,点击“Save private key”保存putty可以使用的密钥,如test.ppk。pass phrase的部分同前。在“Public key for passing into openSSH authorized_keys file”一行下面的文本框中就是公钥的内容,将该内容拷贝到一个空白的文本文件,保存文件,如test.pub。

2. 上传公钥。
将生成的公钥,如test.pub,上传到远程主机的~/.ssh目录下,将test.pub的内容附加到authorized_keys文件末尾。

3. 远程主机SSH的设置
authorized_keys必须只有所有者才能访问:
$ chmod go-rwx ~/.ssh/authorized_keys
另外,为了不在每次发起连接时输入pass phrase:
$ ssh-agent $SHELL
$ ssh-add
(注:这个是参照MPICH的SSH设置,我还不确定如果不使用MPICH的话这个是不是必需的。)

4. 连接
(1)Linux
在Linux终端下,直接输入ssh remote_machine_name然后即可发起ssh连接,远程系统将进行公钥认证。
(2)Windows + putty
在session的auth选项中,选择前面步骤中生成的私钥文件,然后点击“open”。在要求输入用户名时,输入用户名。
 

相关文章推荐

SSH不输入密码连接远程Linux主机

点击原文打开 (注意生成文件默认保存~/.ssh/下。两个机子的文件位置应该一致) SSH不输入密码连接远程Linux主机 1) 在本地主机生成密钥对 ssh-keygen -t rs...
  • j3smile
  • j3smile
  • 2011年11月23日 10:36
  • 272

SSH无密码远程访问Linux主机

http://www.yunsec.net/a/school/xtrm/linux/2012/0107/9853.html http://www.linuxso.com/linuxxitongg...
  • orzorz
  • orzorz
  • 2012年05月14日 16:24
  • 949

jenkins发布项目到远程主机上,配置两台linux如何使用SSH免密码登录

一、首先要配置两台linux如何使用SSH免密码登录,这样脚本执行scp命令以及远程执行脚本都不需要输入密码: A为本地主机(即用于控制其他主机的机器,jenkins服务器) ; B为远程主机(即...

Linux 批量拷贝数据脚本 + ssh 无密码登陆远程LINUX主机

最近想弄个Linux下批量传输拷贝部署远程服务器脚本 思路:1.与远程客户端建立等效性             2.拷贝数据、或者执行远程服务器命令 自动化等效性脚本如下:前提是安装expect...

linux 使用java编写ssh登陆主机 输入密码登陆并执行命令(jsch)

场景:在一台linux机器A上ssh连接另一台linux机器B,并在B上执行命令(此处是调用B上的jar)。 需要使用的jar包:jsch-0.1.54.jar...

不输入密码ssh直接登录Linux主机的实践与总结

服务器环境:以XX云服务器,Linux版本 - CentOS为例 客户端环境:以Mac OSX Terminal为例,其他大同小异 概念说明:           在Termin...

多台Linux主机无需密码直接连接的SSH配置

两台主机:ubuntu系统 主机名:hadoop001 hadoop002 IP地址:172.19.4.57 172.19.4.134一.在hado...

mac通过SSH连接远程Linux主机解决上传文件的痛

本人算是mac小白一枚,今天分享一下mac使用ssh连接远程主机如何实现上传文件。 一直以来mac下免费软件的匮乏,我觉得一直是一个痛。作为一个攻城狮,从用了mac后也是深有体会。 连接数据库用的na...

ssh登陆远程主机(密码方式和key的方式)

连接远程主机   要使用SSH连接,自然需要相应的客户端和服务端软件,这里采用OpenSSH。记住两台主机都要装。这里为了偷懒,就直接给两台主机都装了客户端和服务端。   ...

linux 下使用SSH 连接远程主机 SCP 拷贝远程文件

1 检查ssh 是否安装       rpm -qa | grep ssh      //查找当前系统是否安装ssh 如出现 openssh-5.1。。。 类似的软件包,说明系...
  • Pray90
  • Pray90
  • 2014年08月16日 16:37
  • 681
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SSH不输入密码连接远程Linux主机
举报原因:
原因补充:

(最多只允许输入30个字)