使用下面的函数,我可以连接到我的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
我已经尝试在我的linux服务器中启用SSH登录。它能很好地连接我的私钥。我还访问了/etc/ssh/ssh_config并编辑了如下字段:
PasswordAuthentication no
但当我使用putty或winSCP时,它仍然允许我通过用户名/密码登录。现在,我可以从用户/密码和SSH密钥登录,就安全性而言,这是毫无意义的。我还需要做什么才能只允许SSH登录?
众所周知,我们可以在/etc/motd或文件/etc/issue.net中键入横幅,因此,登录到Linux机器的每个用户都将获得横幅消息,例如:
Red Hat Enterprise Linux Server release 6.8 (Santiago)
Kernel \r on an \m
##########################################################################
# Welcome to OBAMA house !!!
#
我想在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配置),或者创建临时用
是否可以在没有密码输入的情况下从本地登录到远程Linux PC SSH (而不是root用户)?我的意思是-在两个点上使用/etc/阴影作为密码,登录到具有相同用户凭据(在两个系统上登录和密码相同)的远程SSH。
要点-不是使用基于密钥的身份验证,而是使用加密密码(SHA-512)在远程SSH上登录。