`
san_yun
  • 浏览: 2596113 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

SSH免密码远程登录设置

 
阅读更多

 

由于这几天需要写一个线上日志查询的小系统。打算使用ssh远程登录进行相关log文件的操作。 为了操作的方便,就找了一个ssh的java实现 jsch http://www.jcraft.com/jsch/ 然后写了一些代码进行测试。 后来发现实际环境中,需要通过 public key 的方式进行ssh的登录验证。 所以我在测试环境上需要配置下。

这里写一下配置的过程。 假设有A机器和B机器,A机器通过非密码的方式登录B机器,

1.生成密钥对

这个时候我们来到A机器进行相关操作 一般情况下,我们的公钥私钥都是放在 ~/.ssh目录下的 如果没有的话,需要自己生成,

luke@luke-desktop:~/.ssh$ 

ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (

/home/luke/.ssh/id_rsa)

:
Enter passphrase (

empty for 

no passphrase)

:
Enter same passphrase again:
Your identification has been saved in /home/luke/.ssh/id_rsa.
Your public key has been saved in /home/luke/.ssh/id_rsa.pub.
The key fingerprint is:
9a:34:fd:c6:9f:3d:81:f5:be:f1:e5:df:a1:25:bb:2c luke@luke-desktop
The key'

s randomart image is:
+--[

 RSA 2048]

----+
|                 |
|                 |
|                 |
|       .      .  |
|      o S    o . |
|     . + o  . . .|
|      o   +  . *.|
|         . E.o*.B|
|            +=

ooB|
+-----------------+
luke@luke-desktop:~/.ssh$ 

ls
id_rsa  id_rsa.pub  known_hosts


其中id_rsa为私钥 id_rsa.pub为公钥,

至于known_hosts文件,它是用来保存以前远程登录过的主机的公钥的

2.在远程机器中添加本地机器的公钥

现在我们需要做的是将A机器的公钥加入到B机器的authorized_keys文件中(可以直接拷贝粘贴,如果 authorized_keys文件不存在的话,就在B机器中新建~/.ssh/authorized_keys),然后开启开启B机器的 PubkeyAuthentication的选项

vi /etc/ssh/sshd_config
设置下面的选项:
PubkeyAuthentication yes
重启sshd service sshd restart

这个时候就可以在A机器上ssh登录B 机器了,现在不需要输入用户对应的linux密码了,但是需要输入创建私钥的时候所输入的passphrase,但是这个密码无须在网络上进行传输了。

3.使用ssh-add

我们可以通过ssh-add命令将私钥的密码交给ssh-agent进行管理,这样我们登录远程机器的时候,就会直接使用缓存起来的passphrase,而不会让你每次手动的输入。

4.其他

一开始发现,本机登录远程机器在登录的时候相当慢,后来发现和两个选项有关

#GSSAPIAuthentication yes


UseDNS no


还有一个有点悲剧的事情就是我为了重新验证设置的正确性,将本地的密钥对全部删除后,重新生成了一对,结果发现服务器端被我限死成公钥方式的登录, 我一想,这下可彻底的悲剧了,登录不了阿。不过灵机一动,翻出以前的一个邮件,有一个系统急救的方法,就是通过一个跳板机器,然后vnc直接连如XEN虚 拟机,然后在公钥验证的下面将密码验证方式设置为yes,重启sshd服务,然后重启从本地登录,重复上面的设置过程,恩,虚惊一场阿,不过下次修改删除 操作还是先做好备份才靠谱。

 

 

补充,还可以更简单一些:

.ssh/config

HOST s*
User admin
Port 22

 

/etc/hosts:

192.168.172.12  s11.duitang.com s11

 

 

问题记录:

 

現在的 ssh 使用同樣的方法會出現錯誤訊息

Agent admitted failure to sign using the key


解決方式 使用 ssh-add 指令將私鑰 加進來 (根据个人的密匙命名不同更改 id_rsa)
# ssh-add   ~/.ssh/id_rsa 

 

分享到:
评论

相关推荐

    ssh通讯协议及ssh免密码登录的配置

    在Linux的各个虚拟集中实现ssh进行远程登录,设置各个虚拟机之间的免密码登录。

    ssh更改默认端口号及实现免密码远程登录

    近来在复习防火墙管理工具 iptables 的基本使用方法,涉及到对端口添加或删除防火墙策略的内容,之前对ssh更改默认端口号及免密码登录的方法不熟悉,这次做一个基本的总结防止自己遗忘。 错误偏差及其他经验之处,还...

    ssh远程多机免密码的方法

    ssh远程多机免密码的方法,在rsync同步时可以用到

    linux远程登录ssh免密码配置方法

    主要介绍了linux远程登录ssh免密码配置方法,需要的朋友可以参考下

    在CentOS / RHEL上设置 SSH 免密码登录的方法

    本文会告诉你怎样在 CentOS/RHEL 上设置 SSH 免密码登录。自动登录配置好以后,你可以通过它使用 SSH (Secure Shell)和安全复制 (SCP)来移动文件。 SSH 是开源的,是用于远程登录的最为可靠的网络协议。系统管理...

    Linux免密码远程登录的实例

    Linux免密码远程登录的实例 如何通过一台Linux ssh远程其他linux服务器时,不要输入密码,可以自动登入。提高远程效率,不用记忆各台服务器的密码。 1. 首先登入一台linux服务器,此台做为母机(即登入其他linux系统...

    ssh配置手册.doc

    SSH 能够为整个通信通道提供加密,其中包括登录和密码凭据交换,它与公钥和私钥一起使用可以为登录提供自动化身份验证。您还可以将 SSH 用作基础传输协议。以这种方式使用 SSH 意味着在打开安全连接后,加密通道可以...

    ssh(ssh-keygen)配置免输入密码登录远程主机的方法

    本地主机ha01配置: 代码如下:[root@ha01 /]# cd /etc/ssh[root@ha01 ssh]# ssh-keygen -t rsa -N “” (该步骤生成key公私密钥对,-N “”表示密钥对短语为空)Generating public/private rsa key pair.Enter file ...

    ssh_skip_password

    [ssh-skip-pwd]是ssh免密码工具,使用python语言实现的工具; 主要功能: 本机用户ssh免密码到一台主机; 本机用户自己免密码到多台主机; 本机其他用户为某一用户做免密码到多台主机 本地用户对远程主机中用户免密码到...

    用python写个自动SSH登录远程服务器的小工具(实例)

    下面小编就为大家带来一篇用python写个自动SSH登录远程服务器的小工具(实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Linux A机器免密码SSH登录B机器

     如上,A机器经常需远程操作B机器,传输文件到B机器,每次输入帐号密码过于繁琐,下文通过ssh公钥能解免密码操作问题。  二、解决  1.方案  SSH认证采用公钥与私钥认证方式。  2.步骤  1) A机器生成公钥...

    开源ssh客户端,免费的

    在使用electerm时,用户可以通过下载并安装electerm,然后配置连接信息(包括远程服务器地址、用户名、密码等)来建立SSH连接。一旦连接建立,用户就可以通过electerm来管理远程服务器,包括更新项目、传输文件等...

    新一代支持多平台的免费 SSH 终端神器,太酷了

    支持使用密码、公钥、键盘交互、gssapi-with-mic 的 SSH 自动登录。 支持 X11 转发。 支持直接/本地端口转发、反向/远程端口转发和动态端口转发。 支持 XModem、YModem 和 ZModem。 集成 sftp、scp 客户端,支持下载...

    SimpleRemote - 免费开源的绿色单文件远程连接管理工具

    SimpleRemote —— Remote Administration Tools 远程管理工具 轻量级、选项卡式、免费、开源的远程连接管理工具,支持 RDP、SSH、Telnet 协议 特征: ...保存的远程连接信息经过加密,支持自定义密码

    使用密钥对通过SSH连接树莓派

    免密码安全地登录远程服务端。

    Xshell-7.0.0109p.exe Linux远程登录操作的工具 (永久使用版)

    Xshell-7.0.0109p.exe Linux远程登录操作的工具 (永久使用版) Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它...

    Linux下实现免密码登录(超详细)

     authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥  id_rsa : 生成的私钥文件  id_rsa.pub : 生成的公钥文件  know_hosts : 已知的主机公钥清单  如果希望ssh公钥生效需满足...

Global site tag (gtag.js) - Google Analytics