我希望通过Net-ssh执行密码更改,但此代码似乎挂起了:
Net::SSH.start(server_ip, "user", :verbose => :debug ) do |session|
session.process.popen3("ls") do |input, output, error|
["old_pass","test", "test"].each do |x|
input.puts x
end
end
end
我知道连接是有效的,因为使
我正在使用grunt,我需要它在需要sudo访问的远程机器上执行脚本,从而提示输入密码。
我希望它提示输入密码,因为我不想将密码提交到源代码管理。
在命令行中,以下内容工作正常:
ssh -t examplehost.com "sudo ls"
但是,当我通过运行相同的命令时,会得到以下内容:
$ grunt exec:remote_sudo
Running "exec:remote_sudo" (exec) task
>> Pseudo-terminal will not be allocated because stdin is not a te
当我通过SSH登录到linux机器,然后尝试以该会话中的另一个用户身份登录时,我遇到了一个问题。在PHP中,它总是挂起。
Example:
//Connect to server using pem files
$key = new Crypt_RSA();
$key->loadKey($options['pem_file']);
$ssh = new Net_SSH2($host);
$ssh->login($user, $key);
//This command works
$ssh -> exec("cd /var/www/site1"
当我使用ssh连接到另一台服务器时,我使用'EOF‘标记在远程服务器上执行一些命令。但它们无法在远程服务器上执行命令。
另外,当没有启用无密码ssh连接时,如何从脚本输入密码而不要求用户输入密码?
$ su - oracle < passwd.txt
standard in must be a tty
我试图使用来自另一台服务器的PHP将用户添加到我的Ubuntu虚拟机(Microsoft )中。
这是我的密码。
PHP代码:
//including phpseclib
include('Net/SSH2.php');
//Username and Password from form
$username = $_POST['user'];
$password = $_POST['pass'];
//connecting to azure vm using ssh
$ssh = new Net_SSH2('myservername.
我正在尝试使用reprepro构建一个私有的apt存储库。在创建SSH密钥链之后,我设法获得了无密码SSH登录。我可以成功登录到存储库,如果我SSH进入它。
在客户端机器上,我在apt源列表中添加了存储库,如下所示:
deb ssh://repo@192.168.60.128:/home/repo/repos/apt/ubuntu xenial main
但是当我尝试使用apt-get update时,我仍然需要输入密码,否则就不会继续。它只显示:
100% [Connecting to repo@192.168.60.128]
有什么方法可以让apt不用输入密码就可以使用我的密钥访问存储库?