社区
系统维护与使用区
帖子详情
如何让scp时不输入密码
jasonhc
2011-07-29 11:42:53
现在的情况时从本地机器拷贝文件到服务器上不需要输入密码,反过来从服务器上拷贝到本地机器就需要输入密码。我是把本机的".ssh/id_rsa.pub"放到对方的".ssh/authorized_keys"文件中,反过来也把服务器上的id_rsa.pub放到本机的authorized_keys文件里。是哪里没做对吗?
...全文
707
15
打赏
收藏
如何让scp时不输入密码
现在的情况时从本地机器拷贝文件到服务器上不需要输入密码,反过来从服务器上拷贝到本地机器就需要输入密码。我是把本机的".ssh/id_rsa.pub"放到对方的".ssh/authorized_keys"文件中,反过来也把服务器上的id_rsa.pub放到本机的authorized_keys文件里。是哪里没做对吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
steptodream
2011-07-29
打赏
举报
回复
另外你生成密钥公钥的时候 要求输入密码的地方直接回车 否则还是要要求输入密码
steptodream
2011-07-29
打赏
举报
回复
[Quote=引用楼主 jasonhc 的回复:]
现在的情况时从本地机器拷贝文件到服务器上不需要输入密码,反过来从服务器上拷贝到本地机器就需要输入密码。我是把本机的".ssh/id_rsa.pub"放到对方的".ssh/authorized_keys"文件中,反过来也把服务器上的id_rsa.pub放到本机的authorized_keys文件里。是哪里没做对吗?
[/Quote]
反过来你把服务器上的id_rsa.pub放到本机的authorized_keys文件里 但是你也要把本机的id_rsa放到服务器上的.ssh/id_rsa啊!!
简单的说 密钥认证 每次生成的id_rsa和id_rsa.pub是一一配对使用的
freetstar
2011-07-29
打赏
举报
回复
ssh-copy-id可以方便把公钥传到对方的机器里
检查下是否真正传输过去
jasonhc
2011-07-29
打赏
举报
回复
确实是输入密码就可以登录了啊。我开始也不知道去哪看log文件。
steptodream
2011-07-29
打赏
举报
回复
早就应该把错误贴出来 这个根本就是无法登陆! 你却反复的说"需要输入密码"
jasonhc
2011-07-29
打赏
举报
回复
知道了,是"/home/user"目录的权限问题,设为755就可以了。谢谢了。
jasonhc
2011-07-29
打赏
举报
回复
终于看到本机上错误的log了,如下:
Jul 29 14:04:09 user-desktop sshd[7161]: Authentication refused: bad ownership or modes for directory /home/user
哪位给分析一下。
jasonhc
2011-07-29
打赏
举报
回复
[Quote=引用 9 楼 steptodream 的回复:]
一样可以 不一样也可以 认证的时候的公用和密钥必须是生成时候的一对!
你不要混在一起说了!
情况1 你从本机登陆服务器时候用的id_rsa和服务器的id_rsa.pub要是同一对的
情况2 你从服务器登录到本机时候……
[/Quote]
不对啊。我服务器上的id_rsa.pub和本机的id_rsa明显不是一对啊,可登录服务器时不需要密码啊。按我的理解,应该本机上的id_rsa和服务器上的authorized_keys里存的公钥是一对就可以了。
我怀疑是本机ssh服务的配置有问题。怎么看ssh的log文件呢?
feiyu2994
2011-07-29
打赏
举报
回复
学习了~
steptodream
2011-07-29
打赏
举报
回复
[Quote=引用 7 楼 jasonhc 的回复:]
那就是说,服务器和本机上的id_rsa和id_rsa.pub必须是一样的?也就是两台机器用一套公钥密钥。
[/Quote]
一样可以 不一样也可以 认证的时候的公用和密钥必须是生成时候的一对!
你不要混在一起说了!
情况1 你从本机登陆服务器时候用的id_rsa和服务器的id_rsa.pub要是同一对的
情况2 你从服务器登录到本机时候用的id_rsa和本机的id_rsa.pub要是同一对的
steptodream
2011-07-29
打赏
举报
回复
[Quote=引用 6 楼 jasonhc 的回复:]
刚想到一点,是不是用户在两台机器上的登录密码必须一样啊?
[/Quote]
不一定一样 但是要保证如下3点!!!!
1.你生成的时候的密钥是A 公钥是A.pub 那么你不能拿A去跟B.pub认证 同样不能拿B跟A.pub认证
公钥放在被登录的服务器上 密钥放在客户端
2.生成密钥A和公钥A.pub的时候要求输入密码的时候直接回车
3.你的被登录的机器的ssh服务器是开启了的公钥密钥认证
jasonhc
2011-07-29
打赏
举报
回复
那就是说,服务器和本机上的id_rsa和id_rsa.pub必须是一样的?也就是两台机器用一套公钥密钥。
jasonhc
2011-07-29
打赏
举报
回复
刚想到一点,是不是用户在两台机器上的登录密码必须一样啊?
steptodream
2011-07-29
打赏
举报
回复
[Quote=引用 4 楼 jasonhc 的回复:]
谢谢steptodream。可为什么从本机拷贝文件到服务器就不需要密码呢?
[/Quote]
本机-》服务器
服务器-》本机
这是2个过程 分别是单独的 你干嘛混在一起去看呢?
你从本机往服务器上访问 用id_rsa去跟服务器上的id_rsa.pub认证
反过来访问 就是服务器用id_rsa和本机的id_rsa.pub认证
说不明白了!!!
jasonhc
2011-07-29
打赏
举报
回复
谢谢steptodream。可为什么从本机拷贝文件到服务器就不需要密码呢?
python Pexpect 实现输
密码
scp
拷贝的方法
在服务器A上的程序用到服务器B上的文件data,并且需要定期更新文件。 但是直接在bash文件中使用
scp
-P 1000 192.168.199.10:/temp/data /temp 由于权限限制,不能免ssh
密码
拷贝,会要求
输入
B机器的
密码
。本想直接在bash文件中使用Pexpect 来实现自动
输入
密码
,并
scp
拷贝文件,但是权限的限制导致不能安装使用Pexpect 。 最后考虑使用python实现。 环境: python2.7 centos from pexpect import * import os cwd = os.path.split(os.path.abspath(__
几种方法来实现
scp
拷贝
时
无需
输入
密码
多种方法实现
scp
命令
时
无需
输入
远端的用户
密码
。
使用
scp
时
记住
密码
,不需要每次都
输入
密码
当两台主机需要互相传文件
时
可以使用
scp
命令,但是每次都需要
输入
密码
,但是当双方建立信用关系后,可以不用每次
输入
密码
步骤: 1,在主机1里面执行ssh-keygen -t rsa 2,一路回车就可以,结果如下所示 3,执行完会在用户目录~/.ssh/产生两个文件,id_rsa,id_rsa.pub 4,将主机1上的id_rsa.pub文件拷贝到主机2的root用户主目录下的.ssh目录下,并且改名为authorized_keys 5,拷贝完重命名之后使用
scp
命令,就不需要
输入
密码
1了 ...
shell 脚本:
scp
时
无需
输入
密码
通过 expect工具,编写 shell 脚本,实现
scp
时
无需
输入
密码
让使用
scp
时
不必
输入
密码
让使用
scp
时
不必
输入
密码
,这样就可以在shell脚本中顺利地执行了: me@local: ssh-keygen -t rsa "/home/abc/.ssh/id_rsa_me" 生成: "/home/abc/.ssh/id_rsa_me" 私钥 和 "/home/abc/.ssh/id_rsa_me.pub" 公钥(分发给目标服务器中所有的目标用户) 注意:要想不
输入
密码
!就不要
系统维护与使用区
19,615
社区成员
74,562
社区内容
发帖
与我相关
我的任务
系统维护与使用区
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
复制链接
扫一扫
分享
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章