天道酬勤,学无止境

ssh

用于在远程服务器上打开特定目录的 SSH 配置文件段落 [关闭](SSH config file paragraph to open a specific directory on remote server [closed])

问题 关闭。 这个问题是题外话。 它目前不接受答案。 想改善这个问题吗? 更新问题,使其成为 Stack Overflow 的主题。 8 年前关闭。 改进这个问题 有没有办法专门 ssh 进入远程位置的特定目录,特别是使用本地 ssh 配置文件(不是终端)? 例如,下面段落中的Dir选项, Host remote_dir Hostname remote_server User username Dir path/to/remote_dir/ 因此,如果我使用上段中的 Host 值 ssh, ssh remote_dir 然后,我想登录并且终端在远程服务器的path/to/remote_dir/处为我准备好, username@remote_server: path/to/remote_dir/ > pwd /home/username/path/to/remote_dir/ 回答1 在 ServerFault 上的这篇文章中,他们说您无法通过 ssh 配置文件完成所有操作。 但是您可以使用 ssh 配置和您的 .bash_profile 或终端书呆子所称的任何内容来完成。 在 ssh 配置文件中添加 Host dev Hostname server.com User joe 然后在你的 .bash_profile 添加一个别名 alias domain1="ssh dev -t

2021-12-09 09:16:38    分类:技术分享    ssh   alias   config

在heroku上管理多个ssh密钥(managing multiple ssh keys on heroku)

问题 所以我有几个 ssh 密钥用于我拥有的其他帐户。 我现在需要能够在我的计算机上克隆一个 heroku 存储库。 我创建了一个新的 ssh 密钥并使用 heroku keys:add 将它添加到我的 heroku 帐户。 但是,当我尝试克隆存储库时,出现此错误: Your key with fingerprint: .... is not authorized to access rural-visions. fatal: the remote end hung up unexpectedly Your key with fingerprint: .... is not authorized to access rural-visions. fatal: the remote end hung up unexpectedly 我听说我需要在 .ssh 文件夹中创建一个配置文件,但我不知道在那里放什么。 任何帮助将非常感激! 回答1 我有时不得不使用一堆 heroku 帐户,并且遇到了这个问题。 这是我通常做的: 清晰的身份$ ssh-add -D ssh-添加当前帐户所需的密钥$ ssh-add ~/.ssh/an_account_key 现在我可以推送到我的 heroku 应用程序$ git push heroku-remote master 当然,这假设密钥已经添加到

2021-12-09 06:47:16    分类:技术分享    heroku   ssh

无法将 id_rsa 作为 RSA1 公钥加载(Could not load id_rsa as a RSA1 public key)

问题 我在 Windows 7 64 位上使用 cygwin 并且我正在尝试ssh -vvv localhost OpenSSH_6.1p1, OpenSSL 1.0.1c 10 May 2012 debug1: Reading configuration data /etc/ssh_config debug2: ssh_connect: needpriv 0 debug1: Connecting to localhost [::1] port 22. debug1: Connection established. debug3: Incorrect RSA1 identifier debug3: Could not load "/home/habdulmalak/.ssh/id_rsa" as a RSA1 public key 公钥是使用ssh-keygen -t rsa生成的,公钥被添加到 authorized_keys 文件中。 有什么线索吗? 回答1 简而言之,它并不表示错误。 这是正常的。 你可以在这里参考我的回答: 尝试使用 RSA 密钥通过 SSH 连接到 EC2,获取:错误的 RSA1 标识符...权限被拒绝(公钥) 回答2 如评论中所述,此错误是可以的。 你检查/etc/hosts.deny了吗? 我的猜测是你有一个sshd: xxxx条目 回答3 实际上

2021-12-09 06:29:00    分类:技术分享    ssh

使用 pem 文件与 capistrano 部署(deploy with capistrano using a pem file)

问题 我们有一个 EC2 实例,我们的 capistrano 设置需要 ssh。 要正常通过 ssh 连接,我使用 .pem 文件连接到服务器。 使用 capistrano 部署时如何利用这个 .pem 文件? 回答1 在deploy.rb设置这些配置值: default_run_options[:pty] = true ssh_options[:forward_agent] = true ssh_options[:auth_methods] = ["publickey"] ssh_options[:keys] = ["/path/to/key.pem"] 对于 Capistrano 3 使用: set :pty, true set :ssh_options, { forward_agent: true, auth_methods: %w[publickey], keys: %w[/path/to/key.pem] } 回答2 对于 capistrano 3,语法有些不同 set :pty, true set :ssh_options, { forward_agent: true, auth_methods: ["publickey"], keys: ["/path/to/key.pem"] }

2021-12-09 03:58:53    分类:技术分享    ruby-on-rails   ssh   amazon-ec2   capistrano

如何使用 paramiko.RSAKey.from_private_key()?(How do use paramiko.RSAKey.from_private_key()?)

问题 知道如何使用paramiko.RSAKey.from_private_key()函数吗? 我知道有一个from_private_key_file() ,但我有兴趣使用函数来解析私钥(如下所示)并将该私钥用于SSHClient 。 私钥(示例): -----BEGIN RSA PRIVATE KEY-----\nMIICXgIBAAKCAIEAmfgmlY95SHXhCeBNdkhSrsG4JVbqyew845yoZRX3wcS2/doz\niVQxgx0aiOwLi+/Rnkb3PLUIwoxb/LoD/W0YMS6/NSUMt+LdH+zsjeNF2iq4rDzU\nwDSqi27q/8u/egrK7H+9HNKEVXb/87utAAm3VTM9KqKaK3VuVFrNrnsDSuECAwEA\nAQKCAIBZn3y2KiGq8BLiMNJmO4sFdnW+Jm3cw8pdo17SGItzGxJ5iX3ePkfjzhkY\nAm5mMl6OBzj6+VX0CMeywIR6C/q8HwDYSmZcuU5v76/DoW5bI6xkPrroqEz6aRE5\nyN+2hf65RD3eoPATsdrP/kxiKjZg9uG9LhgIXyVwYFs1RcqewQJBAMCVJlEYXRio\neynUtyES9HNmUGUqHKmri1FZfO56

2021-12-08 20:15:32    分类:技术分享    python   ssh   paramiko   ssh-keys

在没有图形环境的 Linux 中运行 Matlab?(Run Matlab in Linux without graphical environment?)

问题 我将使用 SSH 在远程 Linux 服务器中运行一个 Matlab 程序。 我想知道如何在 Linux 中仅使用命令行运行 Matlab,这意味着没有图形环境? 谢谢。 回答1 使用以下标志启动 MatLab matlab -nodesktop -nojvm -nosplash -nodesktop阻止桌面 -nojvm阻止启动 java 虚拟机 -nosplash防止启动闪屏。 请注意,正如 Li-aung Yip 在评论中指出的那样,Mathworks 不建议使用-nojvm标志。 回答2 命令是matlab -nodesktop 。 http://www.mathworks.de/help/techdoc/ref/matlabunix.html 回答3 matlab -nodisplay 请参阅此处了解 -nodisplay。 那么-nodesktop和-nosplash是不必要的。 它们在文本模式下没有意义。 添加-nojvm可能不是一个好主意,除非您有单独的充分理由这样做。 如果没有 JVM,您将失去一些功能,这些功能的缺失可能会导致日后混淆。 来源:与上面相同的链接。 在-nodisplay之上,它不会使您的非图形 Matlab 会话变得不那么图形化。 这里有几种非交互式运行命令的方法。 方式一: matlab -nodisplay < myScript.m

2021-12-08 17:49:01    分类:技术分享    linux   matlab   command-line   ssh

Jenkins 似乎是通过 ssh 启动的脚本中 nohup 的目标,我该如何防止?(Jenkins seems to be the target for nohup in a script started via ssh, how can I prevent that?)

问题 我正在尝试创建一个 Jenkins 作业来重新启动一个一直在我们的一台服务器上运行的程序。 我指定以下作为要运行的命令: cd /usr/local/tool && ./tool stop && ./tool start 脚本“工具”包含如下一行: nohup java NameOfClass & 它的输出最终出现在我的构建控制台而不是 nohup.out 中,因此作业永远不会终止,除非我手动终止它,这会终止程序。 如何使 nohup 的行为与终端的行为相同? 回答1 如果我正确理解了这个问题,Jenkins 将在构建结束时终止所有进程,并且您希望在构建完成后让某些进程继续运行。 您应该阅读 https://wiki.jenkins-ci.org/display/JENKINS/ProcessTreeKiller 本质上,Jenkins 在 BUILD_ID 环境变量中搜索具有某些秘密值的进程。 只需为您想要单独处理的进程覆盖它。 回答2 在新的流水线作业中,设置BUILD_ID不再阻止 Jenkins 在作业完成后终止您的进程。 相反,您需要设置JENKINS_NODE_COOKIE : sh 'JENKINS_NODE_COOKIE=dontKillMe nohup java NameOfClass &' 有关更多信息,请参阅 ProcessTreeKiller 上的

2021-12-08 16:19:54    分类:技术分享    unix   ssh   jenkins

PSCP 将文件从 Godaddy 复制到我的 Windows 机器(PSCP copy files from godaddy to my windows machine)

问题 我想备份我托管在 Godaddy 上的网站。 我使用了 Windows dos 中的 pscp 命令并尝试下载整个 public_html 文件夹。 我的命令是: pscp -r user@host:public_html/ d:\sites\; 文件正在正确下载,文件夹也在下载。 但问题是 public_html 和其他子文件夹有两个文件夹,如“./”和“../”。 由于这两个文件夹,我的副本失败了,我收到“安全违规:远程主机试图写入”一个“。” 或 '..' 路径!”错误。 希望任何人都可以为此提供帮助。 注意:我只有 ssh 访问权限,必须从 ssh 命令本身下载它。 回答1 将星号附加到源应该修复它,例如 pscp -r user@host:public_html/* d:\sites\; 回答2 您也可以通过不在源路径的末尾添加“/”来做同样的事情。 例如。 pscp -r user@host:public_html d:\sites 如果您的目的地(即 d:\sites)不存在,上面的命令将创建 public_html 目录。 简单地说,我们可以说使用上面的命令我们可以制作一个,因为它是d:\sites中public_html克隆。 回答3 一件重要的事情:您需要在此处定义端口号“-P 22”。 pscp -r -P 22 user@host:public

2021-12-08 13:04:10    分类:技术分享    ssh   download   putty   pscp

如果出现以下错误,我如何推送到 Git Repo:推送期间发生内部异常:ssh://git@github.com/xxx/xxx.git: session is down(How do I push to Git Repo given the following error: An internal Exception occurred during push: ssh://git@github.com/xxx/xxx.git: session is down)

问题 我最近设置了一个github帐户来存储我一直在做的一个项目的源代码。 我正在使用egit eclipse插件将更改推送到github 。 我成功推送了初始代码和 2 个后续更改。 然而,当我试图推动第三个变化时,我无法做到。 eclipse 错误日志中出现以下异常。 如果有人能告诉我这个错误的原因,或者告诉我如何调试问题,那将是一个很大的帮助。 org.eclipse.jgit.api.errors.JGitInternalException: Exception caught during execution of push command at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:156) at org.eclipse.egit.core.op.PushOperation.run(PushOperation.java:227) at org.eclipse.egit.ui.internal.push.PushOperationUI.execute(PushOperationUI.java:145) at org.eclipse.egit.ui.internal.push.PushOperationUI$1.run(PushOperationUI.java:202) at org.eclipse

2021-12-08 10:43:47    分类:技术分享    eclipse   ssh   egit

如何使用 SSH 在 Python 中远程执行脚本?(How to execute a script remotely in Python using SSH?)

问题 def execute(self,command): to_exec = self.transport.open_session() to_exec.exec_command(command) print 'Command executed' connection.execute("install.sh") 当我检查远程系统时,我发现脚本没有运行。 有什么线索吗? 回答1 下面的代码将执行您想要的操作,您可以将其调整为您的execute函数: from paramiko import SSHClient host="hostname" user="username" client = SSHClient() client.load_system_host_keys() client.connect(host, username=user) stdin, stdout, stderr = client.exec_command('./install.sh') print "stderr: ", stderr.readlines() print "pwd: ", stdout.readlines() 但是请注意,该命令将默认为您的$HOME目录,因此您要么需要在$PATH包含install.sh ,要么(很可能)您需要cd到包含install.sh脚本的目录

2021-12-08 09:24:26    分类:技术分享    python   shell   ssh   paramiko