首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带密钥链程序的Scp问题

带密钥链程序的Scp问题
EN

Stack Overflow用户
提问于 2015-07-09 09:42:54
回答 1查看 478关注 0票数 1

在我的Bash脚本中,我使用SCP将一些文件复制到另一台计算机。

但是我在我所有的主机上都使用了密钥链程序。当ssh-代理已经被密钥链加载时,就没有问题了。

但是,当远程主机的密钥尚未加载时,连接之后,密钥链将显示一条消息来添加密钥,但不要询问密码.文件没有被复制..。而且连接还没有关闭。

代码语言:javascript
复制
* keychain 2.7.1 ~ http://www.funtoo.org
* Waiting 5 seconds for lock...
* Found existing ssh-agent: 31914
* Adding 1 ssh key(s): /root/.ssh/id_rsa

使用SSH时,如果没有加载密钥,则正确显示密码提示:

代码语言:javascript
复制
* keychain 2.7.1 ~ http://www.funtoo.org
* Found existing ssh-agent: 27551
* Adding 1 ssh key(s): /root/.ssh/id_rsa
Enter passphrase for /root/.ssh/id_rsa:

是否有检测文件是否已被复制的方法/解决方法?

事实上,根本原因是我认为遥远的.bashrc .当.bashrc来源时,键链就会启动。

编辑:密钥链有一个--noask选项。所以SCP命令可以使用这个选项,因为没有询问密码,但是我确实需要被问及SSH的密钥。

在目标服务器上,是否可以检测是否启动ssh或scp命令?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-23 15:04:44

假设您控制了远程系统上的.bashrc文件,那么为什么不改变基于会话是否是tty启动密钥链的方式呢?通过这种方式,您可以像使用scp (no )时所描述的那样,使用--noask选项启动它,而不使用ssh选项。

代码语言:javascript
复制
if [ -t 1 ] then
  <start keychain normally>
else
  <start keychain with --noask>
fi
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31313815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档