在我的特定用例中,我希望我的 PC 能够向 Linux 机器发送命令,以在其上执行脚本。有没有办法做到这一点(通过网络或其他方法)我在我的 PC 上使用 Windows 7,在 Linux 机器上使用 Ubuntu。
我在我的 Ubuntu 服务器中更改了密码。但我注意到我仍然无法使用 ssh,因为我之前做过 ssh-copy-id。我想撤销对我自己和其他可能复制了 ssh 密钥的用户的访问权限。
我已经更改了密码,现在我需要创建新密钥或撤销对已被授予用户的访问权限。
在澳大利亚寻找一种在 4G 路由器后面看到几个 PLC 单元的方法,我遇到了一个使用 Autossh 和 Raspberry Pi 和隧道的帖子。多么棒的概念啊。多年来我一直非常成功地使用隧道
买了我的第一个 Pi 并把它放在家里的长凳上。
它做到了。
将 PI 带到车间,将其插入网络,回到家看到它进行轮询,并按预期在我的防火墙上被拒绝。从那个地址打开了 22 端口。哇。是的,可以隧道回 pi。
我通常不会将端口 22 作为一项规则打开,并为我的 SSH 使用非标准端口,这就是我遇到问题的地方。我找不到如何让 Autossh 使用端口 22 以外的其他东西进行中间人连接。
作为我行的最后一个参数,我autossh有 user@somewhere.com
我试过了 user@somewhere.com:port
和 user@somewhere.com -p port
但这些似乎都不起作用。不确定我是否有错误,或者我尝试过的端口是否在通往我的基本系统的路由中被阻止。
使用不寻常端口的人可以指出我正确的方向吗?
我有一个脚本,它使用此代码从服务器获取文件以打开会话。
sftp -o port="port" -o IdentityFile="private_key_location" "username@remote_host"
Run Code Online (Sandbox Code Playgroud)
手动运行它会成功下载文件。
但是当我使用调度程序运行脚本时,它失败并提示
No RSA host key is known for [remote_host]:port and you have requested strict checking
Host key verification failed.
Couldn't read packet: Connection reset by peer
Run Code Online (Sandbox Code Playgroud)
private_key_location另一个用户也可以访问我的。我读过~/.ssh/known_hosts执行脚本的地方可能没有我在~/.ssh/known_hosts.
如果另一个用户仍然可以访问我的private_key_location.
谢谢。
我正在尝试编写一个脚本来将笔记本电脑上的文件夹同步到我的 NAS。从命令行调用时,脚本运行良好。我已经尝试将脚本设置为使用 systemd 自动运行。但是ssh登录有问题。虽然从命令行运行脚本时它工作正常,但我收到了权限被拒绝的错误。
到目前为止,这是我尝试缩小问题范围的方法:
脚本/home/tikey/scripts/nas_sync_photos_to_nas.sh:
#!/bin/bash
set -x
ssh tikey@192.168.17.200 -v -i /home/tikey/.ssh/id_rsa ls -la rsync_laptop
Run Code Online (Sandbox Code Playgroud)
要使用 systemd 运行脚本,我已将文件sync-photos-to-nas.service放入~/.config/systemd/user/:
[单元] 说明=同步图片到 nas [服务] ExecStart=/home/tikey/scripts/nas_sync_photos_to_nas.sh
从命令行运行脚本工作正常。不幸的是,使用 systemd 运行脚本不起作用。我已经运行了 systemd 服务systemctl --user start sync-photos-to-nas.service。然后,使用journalctl --user-unit sync-photos-to-nas,我得到:
... debug1:主机 '192.168.17.200' 已知并且与 RSA 主机密钥匹配。 debug1:在 /home/tikey/.ssh/known_hosts:2 中找到密钥 debug1:在 4294967296 个块后重新加密 debug1: SSH2_MSG_NEWKEYS 发送 debug1:期待 SSH2_MSG_NEWKEYS debug1:在 4294967296 个块后重新加密 debug1:收到 SSH2_MSG_NEWKEYS debug1:收到 SSH2_MSG_SERVICE_ACCEPT debug1:可以继续的身份验证:publickey、password、keyboard-interactive debug1:下一个身份验证方法:publickey debug1:提供 RSA 公钥:/home/tikey/.ssh/id_rsa debug1:服务器接受密钥:pkalg ssh-rsa blen 535 debug1: read_passphrase: …
我经常使用 SSH 通过 rclone 将磁盘映像和虚拟机映像(通常每个文件 800GB 到近 1 TB)传输到云服务器,我想知道 sha1sum 和 md5sum 在验证非常大文件的完整性时有多可靠。
我发现了这个: 如何验证 1TB 文件是否正确传输?
然而,它与性能有关,而不是与生成的散列的可靠性有关。
考虑到有这么多不同的文件,是否有可能另一个文件共享生成的相同哈希值?
那么对于非常大的文件,MD5 和 SHA-1 总和有多可靠?谢谢。
我还发现了有关碰撞的信息:https : //stackoverflow.com/questions/4032209/is-md5-still-good-enough-to-uniquely-identify-files
https://www.theregister.co.uk/2017/02/23/google_first_sha1_collision/
关于这个关于Android 和 OSX 之间的文件的问题sftp,我想知道在什么条件下 SFTP 服务器以500 SSH-2.0-<client program> not understood. 在 OSX 命令行上,我输入
sftp -oport=<port> <user>@<ip>
Run Code Online (Sandbox Code Playgroud)
但在 Android 方面我得到
500 SSH-2.0-OPENSSH_7.4 not understood
Run Code Online (Sandbox Code Playgroud)
我需要进行哪些配置才能连接到在 Android 上运行的 SFTP 服务器?
我正在使用 puttygen.exe(来自https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 的那个)来生成 RSA 密钥。然而,几个小时过去了,还没有结束
生成 RSA 密钥通常需要多长时间,为什么在我的情况下需要几个小时?
使用PermitEmptyPasswords yes是完全不安全的。
是否可以仅为 ssh 连接创建密码,而不能为本地用户创建密码?
第 1 步:生成 SSH 密钥
1. 从命令行输入 ssh-keygen。(如果在命令窗口中出现错误,请检查 C:\Program Files\Git\usr\bin 是否是您路径的一部分)该命令会提示您输入一个文件以将密钥保存在
按 Enter 接受默认密钥和路径,/c/Users//.ssh/id_rsa。
出现提示时输入并重新输入密码。
该命令使用其公钥和私钥创建您的默认身份。
2.配置tortoise-git
加载之前生成的 ssh 密钥(id_rsa)。它会提示您选择文件。(ssh 密钥的默认路径 C:\Users\.ssh)
加载时,它会要求输入密码。输入之前给出的密码。在这一步之后,腻子将加载证书。
加载证书后,单击“保存私钥”按钮。它将提示选择要保存文件的文件夹。最好将它与 ssh 密钥文件夹 (C:\Users\.ssh) 放在同一个文件夹中。还要指定文件名。
现在您必须使用生成的密钥文件配置 TortoiseGit。右键单击 repo 文件夹选择 TortoiseGit>Settings
在设置屏幕中选择 Git > 远程
在远程屏幕中,选择 origin.. 它将填充 URL 和其他字段。
单击 Putty Key 字段旁边的省略号,然后选择使用 puttygen 生成的私钥文件。
私钥的文件格式为
----开始RSA私钥------
xxxxxxyyxyyxyxyxy
错误是
无法加载私钥(无法打开文件)