我正在写一个C Shell程序,它正在做su或者sudo或者ssh.他们都希望他们的密码在控制台输入(TTY)而不是stdin或命令行.
有人知道解决方案吗?
设置无密码sudo不是一种选择.
期望可能是一个选择,但它在我的精简系统中不存在.
ssh身份验证的问题:
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: bridged
==> default: Forwarding ports...
default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Error: Connection timeout. Retrying...
default: …Run Code Online (Sandbox Code Playgroud) 有没有办法忽略Ansible的SSH真实性检查?例如,当我刚刚设置一个新服务器时,我必须对这个问题回答"是":
GATHERING FACTS ***************************************************************
The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is xx:yy:zz:....
Are you sure you want to continue connecting (yes/no)?
Run Code Online (Sandbox Code Playgroud)
我知道这通常是一个坏主意,但我将其合并到一个脚本中,该脚本首先在我的云提供商处创建一个新的虚拟服务器,然后自动调用我的ansible playbook来配置它.我想在脚本执行过程中避免任何人为干预.
我们的自动构建在Jenkins上运行.构建本身在从属服务器上运行,从服务器通过SSH执行.
我收到一个错误:
00:03:25.113 [codesign-app] build/App.app: User interaction is not allowed.
Run Code Online (Sandbox Code Playgroud)
我已经尝试了迄今为止我在其他帖子中看到的所有建议:
在所有情况下,我都会得到同样的错误.
为了诊断问题,我尝试在我的本地终端上运行"security unlock-keychain"命令,发现它实际上并没有解锁钥匙串 - 如果我查看Keychain Access,锁定符号仍然存在.无论我是在命令行上传递密码还是让它提示我,都是这种情况.使用GUI解锁相同的钥匙串将提示我输入密码然后解锁.另外,如果我运行"security lock-keychain",我会在运行命令后立即看到键锁.这让我觉得解锁钥匙串实际上并不起作用.我在Lion(我们用于构建奴隶)和Mavericks(我正在开发)上遇到相同的行为.
接下来,我尝试将-v添加到所有安全命令:
list-keychains "-d" "system" "-s" "/Users/tester/.secret/App.keychain"
Listing keychains to see if it was added: ((
"/Library/Keychains/System.keychain"
))
unlock-keychain "-p" "**PASSWORD**" "/Users/tester/.secret/App.keychain"
build/App.app: User interaction is not allowed.
Run Code Online (Sandbox Code Playgroud)
从这看起来,列表 - 钥匙链似乎是不起作用的.也许都不行.:/
这里有一个类似的问题.解决方案很有趣 - 在launchctl中将"SessionCreate"设置为true.但我不是在master上构建 - 我的构建过程是从一个slave构建机器上的SSH启动的.也许有一种命令行方式可以在运行"SessionCreate"时执行launchctl正在执行的操作?
我是代理人,我正在推动git成功了很长一段时间.
现在我无法突然进入git.
我已经设置了RSA密钥和代理并对它们进行了双重检查,没有用,git正在向我抛出页面标题中显示的错误.
我已经搜索了好几个小时,希望找到一个解决方案来解决我看似容易解决的问题.这并不是说我的搜索没有发现,而是我的搜索出现了许多不同的解决方案 - 其中没有一个有效.
无论如何,我根本无法从我的Mac上推送,拉取或从我的Heroku存储库中取出.每一次尝试都给了我(好像在嘲笑我)以下错误:
'权限被拒绝(公钥).致命:无法从远程存储库读取.
我已尝试(并重新尝试)以多种不同方式修复它.正如我所说,过去两天我花了很多时间寻找答案.以下是我尝试过的一些事情:
我可以从我的GitHub存储库中获取,所以我知道它不是网络连接(ping heroku也可以).
作为一个临时解决方案(我希望不会成为永久解决方案),我已登录到我的Ubuntu Amazon AWS ec2实例.从Heroku拉出和推动工作完美.出于这个原因,我仍然觉得我的Mac上的ssh键问题就好了.这两个键都显示在我的Heroku帐户下.密钥结束时的电子邮件地址是否重要?
编辑:我可以从GitHub推送和拉(但我没有使用ssh),为什么不是Heroku?
在这一点上,我愿意尝试任何事情.谢谢!
我有一个脚本,它使用sudo在远程服务器上通过SSH运行另一个脚本.但是,当我输入密码时,它会显示在终端上.(否则它工作正常)
ssh user@server "sudo script"
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么,所以我可以通过SSH键入sudo的密码而不输入密码?
我尝试像这样在 M1 macOS 终端中连接到 ssh 服务器
ssh -i {myKeyFilePath/myKeyFile.pem} user@host
Run Code Online (Sandbox Code Playgroud)
但它返回
sign_and_send_pubkey: no mutual signature supported
user@host: Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)
我没有修改任何ssh设置,{myKeyFile.pem}的文件权限是400。我也可以通过IntelliJ远程主机很好地连接ssh服务器,但是当我在终端中尝试这个时,它出错了。
我的VPS提供商建议我将SSH端口保留为默认分配的自定义端口号(而不是22).事情是我知道我可以在创建远程配置时给出端口号,但是在进行git克隆时我似乎无法做同样的事情.我正在使用gitolite所以我克隆命令看起来像:
git clone git@mydomain.com:gitolite-admin
Run Code Online (Sandbox Code Playgroud)
有没有办法将其转换为使用自定义ssh端口号?
我还要提一下我在windows上运行cygwin.我已经看到多个地方说要将自定义端口添加到~/.ssh/config文件中
Host mydomain.com
Port 12345
Run Code Online (Sandbox Code Playgroud)
但是在cygwin中,该文件似乎不存在.
我正在尝试将我的BitBucket帐户中的repo克隆到我的Windows 10笔记本电脑(运行GitBash).我已完成连接所需的所有步骤(设置我的SSH密钥,通过成功SSHing git@bitbucket.org等进行验证).但是,每当我尝试克隆一个repo时,在确认我想要缓存Bitbucket的密钥后,提示会不断挂起.
User@Laptop MINGW64 /C/Repos
$ git clone git@bitbucket.org:mygbid/test.git
Cloning into 'test'...
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, …Run Code Online (Sandbox Code Playgroud) ssh ×10
git ×4
sudo ×2
ansible ×1
bitbucket ×1
code-signing ×1
cygwin ×1
heroku ×1
jenkins ×1
linux ×1
macos ×1
openssh ×1
passwords ×1
private-key ×1
public-key ×1
repository ×1
su ×1
vagrant ×1
vagrantfile ×1
virtualbox ×1
windows ×1