ssh无需输入密码登录

Cygwin安装

http://www.programarts.com/cfree_ch/doc/help/UsingCF/CompilerSupport/Cygwin/Cygwin1.htm

OpenSSH配置

cygwin的安装开始的,无论在服务器端还是远程的客户端都是必须要做的。安装的时候需要注意,除了缺省的那些包之外,还需要安装/libs/zlib/net/openssh/net/tcp_wrappers,这几个包不属于缺省安装的内容,因此需要在安装界面中手动选择。

配置完成后:

设置Cygwin环境变量 ,C:\cygwin\bin

----------------------------------------------------------------------------------------------------------------------------

以下转自网络,红字为修改后文字

http://blog.csdn.net/wyzxg/article/details/2177502

known_hosts文件  
保存于客户端的文件,
該檔案是紀錄連到對方時,對方給的 host key。每次連線時都會檢查目前對方給的 host key 與紀錄的 host key 是否相同,可以簡單驗證連結是否又被詐騙等相關事宜。


authorized_keys文件

保存于服务器的文件。

----------------------------------------------------------------------------------------------------------------------------------

ssh无需输入密码登录

这个是我要做oracle RAC的一个准备条件.


服务器: 192.168.0.221  A

客户端: 192.168.0.220  B

测试目的:  我要用oracle无需输入密码登录 A

实现原理:

使用一种被称为"公私钥"认证的方式来进行ssh登录. "公私钥"认证方式简单的解释是

1.首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa) 
2.然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥 
3.当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了


说明:

第一步是生成 SSH 的公共密钥和专用密钥。 SSH 协议有两个版本;版本 1 使用 RSA,版本 2 使用 DSA,
因此我们将创建这两种类型的密钥,以确保 SSH 能够使用任一版本。 ssh-keygen 程序将根据传递给它的参数生
成任一类型的公共密钥和专用密钥。

 

对于oracle用户,应该准备条件:

在服务器A上:

mkdir ~/.ssh
chmod 755 ~/.ssh

在客户端B:

mkdir ~/.ssh
chmod 755 ~/.ssh

 

步骤:
1. 在客户端B上以oracle登录,并执行"ssh-keygen -t rsa"

[oracle@skate-test ~]$ /usr/bin/ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
3a:3f:ba:75:07:23:76:43:4c:80:a7:a3:86:c6:9c:70

(注:每次执行"ssh-keygen -t rsa"产生的私钥文件都会不同)

a)如果文件"~/.ssh/id_rsa"存在,会提示是否覆盖该文件,此时可选择"n"不覆盖该文件而使用已有的id_rsa文件;
如果选择"y"则会重新生成"~/.ssh/id_rsa"文件,接下来会提示输入passphrase,回车确定使用空的passphrase,再次
回车确认(这里也可以输出passphrase,相当于ssh时登录的密码)。然后会重新生成"~/.ssh/id_rsa"文件和"~/.ssh/id_rsa.pub"文件

b)如果"~/.ssh/id_rsa"文件和"~/.ssh/id_rsa.pub"文件不存在则会自动创建新的"~/.ssh/id_rsa"文件
   和"~/.ssh/id_rsa.pub"文件,passphrase设置同上。


2 .使用ssh [email protected]登录到服务器A,编辑服务器上"~/.ssh/authorized_keys"文件,将客户端机器B上
   的"~/.ssh/id_rsa.pub"文件内容追加到"~/.ssh/authorized_keys"文件中。

(注:可以在客户端机器上使用以下命令来实现:

 [oracle@skate-test ~]$ cat /.ssh/id_rsa.pub |ssh oracle@ 192.168.0.221 "cat >>~/.ssh/authorized_keys" (由于本地客户端使用windows,默认~/.ssh/ 为: /home/user/.ssh/。而本地此目录不存在。继而对应找到id_rsa.pub的目录即可)

此时会要求输入oracle在服务器A上的登录密码,输入后即会将客户端机器上的"~/.ssh/id_rsa.pub"文件内容追加到服务器
上的"~/.ssh/authorized_keys"文件中)

猜你喜欢

转载自xvshell.iteye.com/blog/1511251