• 每天进步一点点!

文章分类

推荐网站

常用手册

SSH SCP Rsync 通过认证方式连接服务器【原创】

<<返回

2012-11-06 17:33:30

有两台服务器,服务器A(10.10.252.158)和服务器B(10.10.252.178)。

现在想在服务器A上通过SSH连接服务器B,或通过SCP、Rsync向服务器B传输文件。但这三种情况下都需要用户提供服务器B的用户名和密码,有些情况下用户可能需要在服务器A上直接通过SCP或Rsync向服务器B上传输文件,而不方便输入服务器B的用户名或密码(比如在计划任务cron中),这是可以使用认证方式连接服务器B,具体方法如下。

 

(1)以root用户登录服务器A,在服务器A的终端上输入:

ssh-keygen -t rsa

 

Generating public/private rsa key pair.

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

Created directory '/root/.ssh'.

Enter passphrase (empty for no passphrase): (回车)

Enter same passphrase again: (回车)

 

这时在/root 目录下生成一个.ssh的文件夹,进入此文件夹,里面有两个文件:id_rsa  id_rsa.pub

 

(2)以root用户登录服务器B,将id_rsa.pub(公钥)文件拷贝到服务器B的/root/.ssh 目录下(如果没有这个目录则创建之)

scp 10.10.252.158:/root/.ssh/id_rsa.pub /root/.ssh/

 

(3)在服务器B上,将服务器A传输过来的 id_rsa.pub 重命名为 authorized_keys

mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys

 

(4)至此配置已经完成,现在测试一下,试试是否设置成功,在服务器A的终端上输入下面命令:

ssh 10.10.252.178

 

如果是第一次连接服务器B,则会出现下面的提示

The authenticity of host '10.10.252.178 (10.10.252.178)' can't be established.

RSA key fingerprint is e7:38:bd:4d:b7:c6:f6:b1:e5:7d:9f:3c:0f:a7:43:80.

Are you sure you want to continue connecting (yes/no)?

 

输入yes或no之后,如果看到类似于如下的提示:

Last login: Tue Nov  6 01:05:08 2012 from 10.10.252.105

则说明登录成功了,可以用ifconfig命令查看一下此时登录的服务器的IP地址。

 

(5)测试一下rsync

在服务器B的终端上输入下面命令(注意如果这时已经通过服务器B的终端登录到了服务器A,需要先用exit命令退出)

rsync -avc root@10.10.252.178:/root/test/ /root/data

receiving incremental file list

./

1.txt

2.txt

 

sent 52 bytes  received 176 bytes  456.00 bytes/sec

total size is 0  speedup is 0.00

 

 

将会看到此时已经不在提示输入密码了。

 

(6)如果现在想让服务器C也能通过认证方式登录服务B,就要重复服务A上的操作了。

以root用户登录服务器C,在其终端上输入:

ssh-keygen -t rsa

然后一路回车,在服务器C的/root/.ssh/目录下生成服务器的秘钥,将公钥id_rsa.pub拷贝到服务器B上

scp 10.10.252.158:/root/.ssh/id_rsa.pub /root/.ssh/

这时因为服务器B上已经存在authorized_keys文件了,只需要将id_rsa.pub的文件内容追加到authorized_keys文件末尾即可:

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

这样服务器C也就可以通过认证方式连接服务器B了。

 

文章评论

  • 暂无评论

发表评论

昵称:

内容:

发表评论