草庐IT

ssh2-sftp

全部标签

linux - 在无密码 ssh 登录后检查远程用户的身份?

在无密码ssh登录后,Linux中是否有任何方法可以检索登录的远程用户的身份?我想在登录脚本中执行一些不同的操作,取决于我从哪个远程主机/用户ID进行ssh登录。 最佳答案 除非您使用somethinglikethisanswer,否则不会记录原始系统的用户名-即推送用户名作为连接的一部分。远程主机在SSH_CLIENT中编码环境变量,以便可以确定。你可以试试finger远程系统,但这需要fingerd正在运行,如今这不是一项常见的服务。为用户使用特定的key会更好,可以在key的开头设置选项,例如environment="NAME

linux - 通过 bash 和 ssh 逐字传递引号和其他特殊字符

我正在尝试运行一个SSH命令,该命令将调用远程计算机上的一个脚本,该脚本将一些Lua代码写入一个文件。我有这个在bash下执行的脚本命令:sshbobwritelua.sh'{version=1,{["foo"]=17}}'writelua.sh看起来像这样:echo"return$1">bar.lua然而,最终结果是bar.lua具有以下内容:returnversion=1我原以为单引号会阻止所有解释。我如何编辑脚本并转义以安全地传递原始Lua代码? 最佳答案 单引号防止在本地主机上进行解释。远程主机看到命令行writelua.s

linux - ssh 上的 mercurial,远程 hg 没有合适的响应

当我运行hgclonessh://user@host/repo_dir时,我收到“没有来自远程hg的合适响应”和“这里没有Mercurial存储库(找不到.hg)!”。是什么原因造成的?我确实可以通过ssh访问所涉及的服务器/文件。如果我运行scp-ruser@host:/repo_dir./我会得到repo的所有内容,包括.hg就好了。sshuser@host"ls/repo_dir"相同添加-v什么都不做。输出是完全一样的。-vvv相同 最佳答案 原来是我语法错误。Mercurial使用scp/ssh样式来引用文件,并且当文件路

linux - Vim:通过 ssh 访问系统剪贴板 - Linux 到 OS X

我是Linux用户,经常需要通过SSH在远程OSX服务器上工作。我更喜欢vim(neovim)编辑器,但我在通过SSH向/从系统剪贴板复制/粘贴时遇到问题。当我尝试复制"*yy行时,它保存在远程OSX剪贴板上。有没有办法将它保存到我的Linux剪贴板? 最佳答案 基本上,您可以像这样在您的Linux机器上打开远程文件::escp://user@host/relative/path/from/home.txt另一种直接从sshsession复制的解决方案是ssh中的X11转发,它连接远程和本地机器之间的系统剪贴板。在/etc/ssh/

linux - 无法通过 SSH 连接到 Google Compute Engine

我在一个新项目上设置了一个新的GoogleComputeEngine实例。我启动实例并使用命令gcloudinit连接到我的项目。然后我使用命令sudogcloudcomputesshinstance-1。它带我完成SSHkey对生成:WARNING:TheprivateSSHkeyfileforGoogleComputeEnginedoesnotexist.WARNING:YoudonothaveanSSHkeyforGoogleComputeEngine.WARNING:[/usr/bin/ssh-keygen]willbeexecutedtogenerateakey.Genera

java - 使用 JSch 从 SSH 服务器读取命令输出时获取不需要的字符

我正在连接到远程服务器SSH服务器并尝试获取特定路径中的文件列表我能够获取路径中的文件列表但它们的格式不可读任何人都可以对此提供帮助Stringhost="xxxxx.yyyy.com";Stringuser="user";Stringpassword="password";Stringcommand1="dzdosu-lucy";try{java.util.Propertiesconfig=newjava.util.Properties();config.put("StrictHostKeyChecking","no");JSchjsch=newJSch();Sessionsessi

linux - 无密码 SSH 仅适用于 Debug模式

我有两台机器,用户相同,需要在它们之间进行无密码ssh,我有两个用户medya和orainstmedya家是/home/medya/orainst主页是/tools/appsw/oracle/orainst我已经为他们两个设置了无密码(是的,我发誓我做了所有的权限,虔诚的)。它适用于普通主目录(medya)中的任何用户,但不适用于orainst。最奇怪的是,如果我在Debug模式下运行ssh服务器,它对两个用户都非常有效!!!这是ssh作为服务启动和ssh作为调试启动的日志这是失败的地方:debug1:tryingpublickeyfile/tools/appsw/oracle/ora

c# - 无法使用 C# SSH.NET 更改目录

当我使用SSH.NET库连接到服务器时,默认文件夹是/mif/stud3/2014/rira1874。当我执行res=ssh.CreateCommand("cdexistingFolder").Execute();Console.WriteLine(res);它仍然保留在默认连接文件夹中。这里有什么问题吗?完整代码:publicvoidConnectWithPassword(stringusername,stringpassword,stringdomain,intport){booli=true;using(varssh=newSshClient(CreatePasswordConn

linux - 通过 ssh 登录 Amazon EC2

我有一个问题并且卡在了某个地方。我最近使用默认设置创建了AWSEC2Ubuntu实例。我在本地也有一台Ubuntu机器,到目前为止,我设法使用此命令成功连接到Ubuntu实例ssh-i/var/www/my-key-pair.pemec2-user@ec2-198-51-100-1.compute-1.amazonaws.com但是我想知道是否有更简单的方法来登录ssh而无需每次登录时都传递私钥并将其ip添加到我的~/.ssh/config以便我可以登录就像sshubuntu@some.ip.number一样简单。顺便说一下,我使用的是AWS免费套餐。 最佳

linux - 如何通过 SSH(不带 -t 选项)将 SIGINT (Ctrl-C) 发送到当前远程进程

我需要在SSHsession中向在前台运行的远程进程发送SIGINT。SSHsession已经建立,所以我不能使用启动它的选项(如HowtosendSIGINTtoaremoteprocessoverSSH?中所述)ssh-tuser@host我知道我可以打开第二个sshsession并终止进程或关闭当前的sshsession,但我想避免这种情况并直接抛出当前session(如果可能的话)。 最佳答案 如果您使用ssh在远程系统上启动一个没有PTY的进程,那么据我所知,没有办法通过该sshsession向远程进程发送信号。SSH协议