分类: LINUX
2010-01-15 11:28:34
两台机子,A(user1机子上) ,B.每次scp B:/home/user时,都需要密码,很是麻烦,做如下操作:
在机子A上:
[user1@rh user1]$ ssh-keygen -t rsa(下面的是提示信息,目的是为了不想有密码,则可全部按enter,一直到最后)
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
Created directory '/home/user1/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user1/.ssh/id_rsa.
Your public key has been saved in /home/user1/.ssh/id_rsa.pub.
The key fingerprint is:
e0:f0:3b:d3:0a:3d:da:42:01:6a:61:2f:6c:a0:c6:e7 user1@rh.test.com
修改一下 .ssh 目录的权限,使用命令 "chmod 755 ~/.ssh"
之后把这个密钥对中的公共密钥复制到你要访问的机器上去,并保存为
~/.ssh/authorized_keys.
[user1@rh user1]$ scp ~/.ssh/id_rsa.pub
(比如我的机器:scp ~/.ssh/id_rsa.pub )
password:
id_rsa.pub 100% 228 3.2MB/s 00:00
结束之后 ,在A上再用scp命令,则不用输入密码了,呵呵
基本原理:
1。 如果你希望从A作为用户user1 SSH 到B 作为用户user2, 若要用RSA键对法认证且不需要密码,则B上的ssh
后台程序拿出~user2/.ssh/authorized_keys中的与A有关的RSA公钥来对A上的以user1身份运行的ssh客户程序
进行挑战,前面我们已经把A上的identity.pub拷贝到B上作为authorized_keys了。则A保持私钥identity,而B
上的sshd又拿出A的公钥来挑战,因此成功,你可以加很多行到authorized_keys以允许其它服务器的公钥可以加
进来.
[1] Q: 每次執行MPI程式時都需要求輸入密碼很多次嗎?
A: 因為MPI使用SSH protocol登入到各機器上啟動程式執行,因此每次需要登入到其他機器時,系統一定會要求你輸入密碼
如果你已經對每次都要輸入密碼而感到厭煩,透過下列步驟可以讓你以後跑程式時都不需要再輸入密碼
請依序執行下列指令:
# ssh-keygen -t rsa
(接著會要求你輸入一些東西,按
# cd ~/.ssh
# cp id_rsa.pub authorized_keys