1.客户端建立两把钥匙:
[vbirdtsai@clientlinux ~]$ ssh-keygen [-t rsa|dsa] <==可选 rsa 或 dsa
[vbirdtsai@clientlinux ~]$ ssh-keygen <==用预设的方法建立密钥
Generating public/private rsa key pair.
Enter file in which to save the key (/home/vbirdtsai/.ssh/id_rsa): <==按 enter
Created directory '/home/vbirdtsai/.ssh'. <==此目录若不存在则会主动建立
Enter passphrase (empty for no passphrase): <==按 Enter 不给密码
Enter same passphrase again: <==再输入一次 Enter 吧!
Your identification has been saved in /home/vbirdtsai/.ssh/id_rsa. <==私钥档
Your public key has been saved in /home/vbirdtsai/.ssh/id_rsa.pub. <==公钥档
The key fingerprint is:
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 vbirdtsai@clientlinux.centos.vbird
[vbirdtsai@clientlinux ~]$ ls -ld ~/.ssh; ls -l ~/.ssh
drwx------. 2 vbirdtsai vbirdtsai 4096 2011-07-25 12:58 /home/vbirdtsai/.ssh
-rw-------. 1 vbirdtsai vbirdtsai 1675 2011-07-25 12:58 id_rsa <==私钥档
-rw-r--r--. 1 vbirdtsai vbirdtsai 416 2011-07-25 12:58 id_rsa.pub <==公钥档
将公钥档案数据上传到服务器上:
[vbirdtsai@clientlinux ~]$ scp ~/.ssh/id_rsa.pub dmtsai@192.168.100.254:~
将公钥放置服务器端的正确目录与文件名:
- 建立 ~/.ssh 档案,注意权限需要为 700 喔!
[dmtsai@www ~]$ ls -ld .ssh
ls: .ssh: 没有此一档案或目录
由于可能是新建的用户,因此这个目录不存在。不存在才作底下建立目录的行为
[dmtsai@www ~]$ mkdir .ssh; chmod 700 .ssh
[dmtsai@www ~]$ ls -ld .ssh
drwx------. 2 dmtsai dmtsai 4096 Jul 25 13:06 .ssh
权限设定中,务必是 700 且属于使用者本人的账号与群组才行!
- 将公钥档案内的数据使用 cat 转存到 authorized_keys 内
[dmtsai@www ~]$ ls -l *pub
-rw-r--r--. 1 dmtsai dmtsai 416 Jul 25 13:05 id_rsa.pub <==确实有存在
[dmtsai@www ~]$ cat id_rsa.pub >> .ssh/authorized_keys
[dmtsai@www ~]$ chmod 644 .ssh/authorized_keys
[dmtsai@www ~]$ ls -l .ssh
-rw-r--r--. 1 dmtsai dmtsai 416 Jul 25 13:07 authorized_keys
这个档案的权限设定中,就得要是 644 才可以!不可以搞混了!
Client 必须制作出 Public & Private 这两把 keys,且 Private 需放到 ~/.ssh/ 内;
Server 必须要有 Public Key ,且放置到用户家目录下的 ~/.ssh/authorized_keys,同时目录的权限 (.ssh/) 必须是 700 而档案权限则必须为 644 ,同时档案的拥有者与群组都必须与该账号吻合才行。
已有 0 条评论