SSH基于密钥验证的配置方法

SSH 基于密钥验证的简单配置

dennis.hu.cd at gmail.com 2010-11-15

经常需要登录到远程服务器作业,而且有时候还需跳转好几次才能到达目标机。有两种方式可以实现自动登录不输密码,从而节约宝贵的时间。

场景一:从 windows 上登录远程 linux/unix 服务器

两种选择:

1 )采用 SecureCRT 的登录脚本实现自动登录。可以在 Options—>Session Options à Logon Actions 里启用 Automate logon 来实现自动登录。我目前主要以这种方式实现自动化的登录,用户名和密码都不需要输入,只需事先配置好好就可以了。

2 )通过 Cygwin 实现类 linux 化的方式配置密钥验证的方式进行登录。后面会以 linux à linux 的场景介绍这种方式。

 

场景二:从 linux/unix à linux/unix

例子: 10.56.136.206 想要登录到 10.56.255.98 ,登录时不需要输入密码。

       第一步:生成密钥

       登录到 10.56.136.206 上去,执行 ” ssh-keygen -t rsa” 命令,在提示输入时全部以回车跳过即可。如下

[root@app6 ~]# ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

95:44:53:15:1e:5f:87:52:66:04:71:23:ba:8b:61:d7 [email protected]

[root@app6 ~]#

执行完之后, /root/.ssh 目录下会产生两个文件。如下:

[root@app6 .ssh]# pwd

/root/.ssh

[root@app6 .ssh]# ls -lrt

total 10

-rw-r--r-- 1 root root 6771 Nov 15 15:17 known_hosts

-rw-r--r-- 1 root root  396 Nov 15 17:18 id_rsa.pub

-rw------- 1 root root 1675 Nov 15 17:18 id_rsa

[root@app6 .ssh]#

 

   第二步:将密钥拷贝至目标机器 10.56.255.98

   进入 /root/.ssh 目录执行拷贝:

[root@app6 .ssh]# ssh-copy-id -i id_rsa.pub [email protected]

10

[email protected]'s password:

Now try logging into the machine, with "ssh '[email protected]'", and check in:

 

  .ssh/authorized_keys

 

to make sure we haven't added extra keys that you weren't expecting.

 

此时再输入 ” ssh 10.56.255.98” 就不需要输入密码就可以了。

[root@app6 .ssh]# ssh 10.56.255.98

Last login: Mon Nov 15 16:54:44 2010 from 10.56.136.206

[root ~]#

 

参考资料:

1 )通过 SSH 密钥验证实现在不同系统之间的脚本自动化

http://www.ibm.com/developerworks/cn/aix/library/1006_lisali_sshlogon/index.html?ca=drs-

 

 

你可能感兴趣的:(windows,服务器,ssh,脚本,logging,login)