关于SCP第二次不用输密码的疑问

I_am_a_java_CaiNiao 2013-04-27 01:41:27
初涉Linux,现用到scp这个命令,有如下一些问题,请指教:

第一次登录一台机子使用 scp 时,提示:

RSA key fingerprint is f3:cf:58:ae:71:0b:c8:04:6f:34:a3:b2:e4:1e:0c:8b.
Are you sure you want to continue connecting (yes/no)?

输入 yes 后,再提示输入密码,输入密码后,scp指令执行成功。退出登录,重新登录,再一次使用scp指令,直接没有任何提示要求yes或输密码,直接成功执行scp。
问:是不是只要用过一次scp,那么以后就总是不用再yes或者输密码了? 如果机子重启了呢?

因为我目前写了个shell,里面有用到scp的,且是需要自动跑的,因此不能有这种交互式的情况。

谢谢!
...全文
221 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Linux-Torvalds 2013-04-27
  • 打赏
  • 举报
回复
引用 5 楼 I_am_a_java_CaiNiao 的回复:
[quote=引用 4 楼 linwhwylb 的回复:] 因为你的public key已经写如到~/.ssh/authorized_keys当中了,所以不需要密码验证了。
我没有手动做过这个操作,它自动会写吗? 而且我找了一下,并没有 authorized_keys 这个文件。 请指教~[/quote]我说的文件是放在server当中的。 另一种可能就是你的sshd配置了不需要密码认证的登陆。
  • 打赏
  • 举报
回复
引用 6 楼 bull_liu 的回复:
楼主什么linux哦,我最近在开发板上用scp命令,每次都会要求输入密码。
LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch Distributor ID: CentOS Description: CentOS release 5.8 (Final) Release: 5.8 Codename: Final
蛮牛儿 2013-04-27
  • 打赏
  • 举报
回复
楼主什么linux哦,我最近在开发板上用scp命令,每次都会要求输入密码。
  • 打赏
  • 举报
回复
引用 4 楼 linwhwylb 的回复:
因为你的public key已经写如到~/.ssh/authorized_keys当中了,所以不需要密码验证了。
我没有手动做过这个操作,它自动会写吗? 而且我找了一下,并没有 authorized_keys 这个文件。 请指教~
Linux-Torvalds 2013-04-27
  • 打赏
  • 举报
回复
因为你的public key已经写如到~/.ssh/authorized_keys当中了,所以不需要密码验证了。
  • 打赏
  • 举报
回复
引用 1 楼 linwhwylb 的回复:
第一次使用ssh,会看server当中的public key fingerprint是否和~/.ssh/known_hosts的某个条目匹配,如果没有,就会要求输入yes/no的确认。 以后的ssh连线,就不用确认了,除非server当中的public key改变(ssh重装,或者系统重装)。 而密码确认的是另一种方式。要想越过密码输入的确认,则应该把你的public key放到~/.ssh/authorized_keys文件当中,此时,不用输入密码就可以连线了。
谢谢!那么为什么我一旦用过scp后,再scp,它不用让我输入密码了呢?即使我先登出,然后重新登录,也是如此。
Linux-Torvalds 2013-04-27
  • 打赏
  • 举报
回复
引用 1 楼 linwhwylb 的回复:
第一次使用ssh,会看server当中的public key fingerprint是否和~/.ssh/known_hosts的某个条目匹配,如果没有,就会要求输入yes/no的确认。 以后的ssh连线,就不用确认了,除非server当中的public key改变(ssh重装,或者系统重装)。 而密码确认的是另一种方式。要想越过密码输入的确认,则应该把你的public key放到~/.ssh/authorized_keys文件当中,此时,不用输入密码就可以连线了。
Public key fringerprint http://en.wikipedia.org/wiki/Public_key_fingerprint
Linux-Torvalds 2013-04-27
  • 打赏
  • 举报
回复
第一次使用ssh,会看server当中的public key fingerprint是否和~/.ssh/known_hosts的某个条目匹配,如果没有,就会要求输入yes/no的确认。 以后的ssh连线,就不用确认了,除非server当中的public key改变(ssh重装,或者系统重装)。 而密码确认的是另一种方式。要想越过密码输入的确认,则应该把你的public key放到~/.ssh/authorized_keys文件当中,此时,不用输入密码就可以连线了。

19,610

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧