您的位置:首页 > 运维架构 > Shell

ssh信任,scp远程到本地不输密码

2016-01-09 14:49 597 查看
   最简单的理解就是,ssh登录一台远程服务器,不需要输入密码。还有个比较常用的就是scp远程拷贝不需要输入密码。ssh信任关系,是指一台服务器上的一个用户信任客户端的一个用户,允许这个用户不输入密码登录,另一个说法叫做public_key_auth。实际上就是证书信任。

   首先,要让远程服务器信任本地机器,本地机器需要先生成一个证书,表名自己的身份,让你在链接远程机器时有个暗号,你说出你的暗号,人家知道你是谁,信任你,就让你进门。先别急着新创建证书,先去~/.ssh目录下看一下,有没有已经生成好的两个文件,id_rsa和id_rsa.pub,这俩货分别是私钥和公钥。注意id_rsa文件的权限必须是600。如果有你就别生成新的了,以免改动了别人在用着的东西。如果没有,那简单,直行如下指令:

ssh-keygen -t rsa
一路回车后,就可以生成这两个文件。

 
然后到远端要登录的服务器上,cd到~/.ssh/目录下,看里面是不是已经有authorized_keys这个文件,如果有了,vim打开authorized_keys,把本地机器上id_rsa.pub里的内容(只有一行文本)加到文件里面保存即可。如果没有就创建一个文件authorized_keys,同样把本地机器上id_rsa.pub里的内容(只有一行文本)加到文件里面保存。至此,信任关系就建立起来了。可以直接scp远程机器文件到本地了。

e.g
scp user@10.0.0.1:/home/test.txt ./local/

如果遇见如下问题:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that the RSA host key has just been changed.

The fingerprint for the RSA key sent by the remote host is

e4:63:c3:05:6c:37:bc:05:8d:94:8a:72:68:91:9c:24.

Please contact your system administrator.

Add correct host key in /root/.ssh/known_hosts to get rid of this message.

Offending key in /root/.ssh/known_hosts:53

RSA host key for 10.0.0.1 has changed and you have requested strict checking.

Host key verification failed.

cd到~/.ssh/目录下,查看是否有known_hosts这个文件,vim打开,查找到10.0.0.1,将改行直接删除,并保存。再直行scp命令。

会出现如下提示:输入yes

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

RSA key fingerprint is e4:63:c3:05:6c:37:bc:05:8d:94:8a:72:68:91:9c:24.

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

感谢@蜜汁小强,参考自:http://blog.csdn.net/wxqee/article/details/7720845
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell ssh scp