Shell实例:ssh, scp 免密码登陆

来源:互联网 发布:activiti实战 源码 编辑:程序博客网 时间:2024/05/21 06:23

一、需求简介

经常在不同linux机器之间穿梭,如ssh登陆或scp拷文件,每次总是要输入密码真是麻烦,这个问题可以通过ssh-keygen生成公钥,在两台机器之间互相建立信任通道即可。

二、环境说明

server1:192.168.10.221(服务器受控端,主机名server1.com)

server2:192.168.10.222(服务器受控端,主机名server2.com)

client1 :192.168.10.223(客户端控制端,主机名itnul.com)

client2 :192.168.10.224(客户端控制端,主机名woiit.net)


1、client1生成rsa keygen

[root@itnul ~] # ssh-keygen -b 1024 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <Enter>
Enter passphrase (empty for no passphrase): <Enter>
Enter same passphrase again: <Enter>
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:
ad:05:e9:44:e7:d2:6a:9a:41:72:37:a9:e1:9c:8e:ea root@itnul.com

上面公钥和私钥存放地址可以直接按回车,私钥密码可以直接按回车也可以输入。

2、查看.ssh目录下私钥和公钥文件

[root@itnul ~] #  ls /root/.ssh/
id_rsa  id_rsa.pub  known_hosts

3、拷贝公钥到目标机器上,并改名成authorized_keys

[root@itnul ~] # sshroot@192.168.10.221 "mkdir /root/.ssh;chmod 700 /root/.ssh" ( 注:必须将.ssh的权限设为700)

[root@itnul ~] # scp/root/.ssh/id_rsa.pub  root@192.168.10.221:/root/.ssh/authorized_keys

首次运行scp命令时还是会提示输入密码,还有是否继续链接的提示,以后则不会再出现。复制成authorized_keys文件名是因为在/etc/ssh/sshd_config中指定了该文件名称。

4、测试进入ssh

[root@itnul ~] #  ssh 192.168.10.221

Last login: Tue Mar 18 19:59:58 2014 from192.168.10.222

三、多台客户端管理一台服务器

以上述为基础添加第二台控制端

1、client2生成rsa keygen

[root@woiit ~] # ssh-keygen -b 1024 -t rsa

2、拷贝公钥到目标机器上

[root@woiitl ~] # scp/root/.ssh/id_rsa.pub  root@192.168.10.221:/root/.ssh/id_rsa.pub

3、登陆到server1,添加内容到authorized_keys,此处不可覆盖

[root@server1 ~] # cat /root/.ssh/id_rsa.pub >>/root/.ssh/authorized_keys

4、测试登陆

[root@woiitl ~] # ssh root@192.168.10.221

四、一台客户端管理多台服务器

以上述为基础添加第二台服务器

1、拷贝公钥到目标机器上,并改名成authorized_keys

[root@itnul ~] # ssh root@192.168.10.222 "mkdir/root/.ssh;chmod 700 /root/.ssh" ( 注:必须将.ssh的权限设为700)

[root@itnul ~] # scp/root/.ssh/id_rsa.pub  root@192.168.10.222:/root/.ssh/authorized_keys

2、测试登陆

[root@itnul ~] # ssh root@192.168.10.222

 

注意:以上设置仅可以让客户端免密码登陆到服务器端,服务器端无法免密码登陆到客户端,如client1→server1,client2→server2。

五、参考链接

http://www.2cto.com/os/201205/133514.html

http://hi.baidu.com/dafkkrcvvzbtvyq/item/d91b9e406dd631096dc2f03c

六、纠错反馈

邮箱:contact@itnul.com

QQ群:216083473 (认证:IT零起步)

本文地址:http://yunpan.cn/QDAS83AR29Q2M

项目社区:http://bbs.itnul.com/

0 0
原创粉丝点击