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”。在要求输入用户名时,输入用户名。
 

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

如何通过linux ssh远程linux服务器免密码登陆1.本地需要有key文件(公钥和私钥)没有key,执行下面命令行生成公私钥 命令行: ssh-keygen -t rsa执行命令后 进入 cd ...
  • XIAO_XIAO_C
  • XIAO_XIAO_C
  • 2017年01月06日 17:42
  • 732

Mac ssh登陆远程Linux不需输入密码

步骤如下: 1. 使用ssh-key-gen在本地Mac上生成公钥和密钥 jsmith@local-host$ [Note: You are on local-host here] jsmi...
  • miaohongyu1
  • miaohongyu1
  • 2013年12月26日 12:08
  • 2251

主机互信配置成功后依然需要输入密码

当主机互信时所配置的用户名所在主目录的属性为 777时系统处于安全会强制使已经配置的主机互信失效,强制要求输入密码,对于大量批处理的环境需要注意该问题,否则会导致脚本报错。具体可能和LINUX系统的安...
  • infiltrators
  • infiltrators
  • 2016年11月08日 23:06
  • 775

常见的SSH连接不上的解决

1.本机host文件上, 上加机上需要访问的主机的主机名IP WINDOWS :C:\WINDOWS\system32\drivers\etc\host  linux :/etc/hosts 2.确...
  • npjocj
  • npjocj
  • 2012年12月04日 09:43
  • 13033

Linux远程服务器之间下拷贝文件不输入密码

 A主机10.159.3.11 B主机10.1293.12 C主机10.129.3.10 C主机为存放文件的服务器,从A主机和B主机分别拷贝文件到C主机 在三台主机上都执行下面的命令生成...
  • wawa8899
  • wawa8899
  • 2017年03月17日 16:24
  • 496

SSH登录太慢(等很久才提示输入密码)的问题

SSH 登录太慢可能是 DNS 解析的问题,默认配置下 sshd 初次接受 ssh 客户端连接的时候会自动反向解析客户端 IP 以得到 ssh 客户端的域名或主机名。 如果这个时候 DNS 的反向解...
  • my_yang
  • my_yang
  • 2013年01月22日 14:36
  • 3110

在Jenkins远程链接Linux系统,然后执行shell命令-亲测可用

如果不知道怎么安装jenkins ,可以参考我的其他文章,linux与windowa都有,http://blog.csdn.net/a136332462/article/category/693040...
  • a136332462
  • a136332462
  • 2017年06月19日 16:57
  • 307

Linux远程登陆以及免密码登陆

最近学了一下linux 的东西,其中有一个是关于ssh(linux远程登陆的) 在这里总结一下: 首先关于ssh的安装 假设我们需要登陆的主机位B,在B主机的终端输入: ssh localhos...
  • u013451221
  • u013451221
  • 2015年06月25日 20:39
  • 628

安卓手机vnc ssh连接远程主机

逛IBM的网站的时候,偶然看到一篇技术文,关于用手机通过ssh和telnet连接linux主机,尽管之前找过类似的软件,不过大多数就算是ROOT了也都不能用。文中两款软件,华为荣耀3C亲测可用。一个通...
  • geqiandebei
  • geqiandebei
  • 2015年01月29日 20:48
  • 4112

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

场景:在一台linux机器A上ssh连接另一台linux机器B,并在B上执行命令(此处是调用B上的jar)。 需要使用的jar包:jsch-0.1.54.jar...
  • gogogogood
  • gogogogood
  • 2016年09月09日 16:33
  • 949
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SSH不输入密码连接远程Linux主机
举报原因:
原因补充:

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