使用下面的函数,我可以连接到我的Linux机器。但很少有命令需要root权限才能执行,并且禁用了直接root登录。此外,用户不能执行sudo。
require 'net/ssh'
def sshutm(host,un,pwd,cmd)
Net::SSH.start( host, un, :password => pwd ) do|ssh|
result = ssh.exec!(cmd)
return result
end
end
我试过了,但它不起作用。
def sshutm(host,un,pwd,cmd)
Net::SSH.start( h
我有一个由ansible-playbook -u <username> -k playbooks/example.yml从命令行手动运行的ansible攻略
上面的方法运行良好。它会提示我输入SSH密码并运行攻略。
The ansible version in my linux machine: 2.7.7
作为我的构建计划的一部分,我需要在竹子中运行它。在竹子中,我不能输入密码,因为它不会提示我。所以我希望将用户名和ssh密码作为参数作为命令的一部分进行传递。
我试过了
ansible-playbook playbooks/monitor-linux-node.yml -e
没有用户目录的密码减少SSH?
据我所知,文件夹.ssh应该存储在用户目录中。
ServerA: Linux without /home/users
ServerB: Linux with /home/users
client: Linux/mac etc...
案例:
客户端无密码ssh到ServerB,没有问题
客户端无密码ssh到ServerA,没有问题
SeverA密码-无密码ssh到ServerB,问题!
如果ServerA中没有实际的用户目录,那么在没有用户目录的情况下,每个用户的公钥是怎样的呢?
或者还有其他方法可以安全地从ssh到ServerB从ServerA?
我正在使用窗口(8.1)笔记本电脑上的迷途/虚拟盒(VirtualBox)从Cygwin终端启动linux测试-vm.vagrant up,vagrant ssh,一切都很好。
现在我想从我的主Linux工作站远程处理这个环境,所以我已经在Cygwin中设置了sshd,并且我可以成功地将ssh放到我的windows中(与在windows中本地登录的相同用户)。
但是,当我在工作目录中(通过远程ssh连接到windows-膝上型计算机)并运行cd时,它告诉我:
VM must be created before running this command. Run 'vagrant up&
我试图使用python和paramiko自动部署linux服务器。问题是,当我第一次连接这个定制的Linux操作系统时,它会为它的初始"installer“请求参数。
在设置这些参数之前,不能对服务器执行任何操作。第一个参数是设置一个新密码,您将从终端得到提示,如下所示。
*WARNING: Your password has expired.
You must change your password now and login again!
New password:
我不知道如何发送基本的用户输入,如新密码。据我所知,exec_command实际上期望的是linux命令,而不仅仅
我想在linux中更改我的用户名,例如sudo usermod -l new old,但是我得到了一个错误
usermod: user old is currently used by process 4139
这很明显,因为我记录了ssh。
old 4139 0.0 0.2 17032 5140 ? S 18:31 0:00 sshd: old@pts/0
即使我是su root,我也会以不同的用户启动新的shell。出于安全原因,我不能以不同的用户身份在ssh上登录。我怎样才能克服这个问题。
一种选择是暂时降低安全性(更改sshd配置),或者创建临时用