我有一台运行 debian sid 的新机器,我在上面生成了一个新的 ssh 密钥对。我想找到一种方便的方法,使用我的旧 Ubuntu 机器及其密钥对将这个新密钥对复制到其他各种机器。我已禁用所有“远程”计算机的密码登录,因此我想使用旧计算机作为中间设备。在研究这个问题时,我发现了的手册页中作为示例ssh-copy-id
给出的确切情况。我按照示例访问 pi 零 running pihole
,但在帖子标题中出现错误。
总结该示例中的步骤,debian
具有新密钥对的计算机在哪里,sarp.lan
具有旧密钥对的计算机在哪里,并且pihole
是“远程”计算机,我做了:
但是,运行时ssh -v pihole
,我确实看到了输出
debug1: Server accepts key: /home/sarp/.ssh/id_rsa RSA SHA256:V74Y4EhlszaIzco6oxOtl86ALj/U8rhXO2XUpEftZLU agent
Run Code Online (Sandbox Code Playgroud)
我阅读了有关该主题的各种帖子,但没有一个解决方案适合我。以下是我尝试过的一些细节/事情:
.ssh/
echo $SSH_AUTH_SOCK
returns /tmp/ssh-a8Ol5O0XY9Fv/agent.1326
,并且我没有看到 keyring 守护进程正在运行ps aux
。ssh-add -l
正确显示第一张图片中可以看到的两个按键(一个来自旧机器,另一个来自新机器).ssh/config
从旧机器复制了,所以主机名/用户名/等。应该没事。让我知道我是否应该提供额外的有用信息,如果这是非常明显的事情,我深表歉意,但我在这里错过了什么?
我有一个名为 test.sh 的文件:
#!/bin/bash -o pipefail
echo "Running test"
git diff HEAD^ HEAD -M --summary |
grep delete |
cut --delimiter=' ' -f 5
Run Code Online (Sandbox Code Playgroud)
当我尝试运行此脚本时:
./test.sh
Run Code Online (Sandbox Code Playgroud)
我得到:
/bin/bash: line 0: /bin/bash: ./test: invalid option name
Run Code Online (Sandbox Code Playgroud)
我跑去cat -v test.sh
查看有没有回车什么的,但是好像没有。如果我只是将其作为 运行,我就可以运行该脚本bash test.sh
。感谢您的帮助,如果我能提供更多信息,请告诉我!
因此,我需要反复尝试向本地主机上的端口提交一个 4 位数字,然后评估从该端口获得的响应是否包含特定字符串,我使用grep
. 我用过类似的东西echo {0000...9999} | nc localhost port
。但是,我无法获得从该命令获得的良好序列扩展以在 bash 脚本中工作。我该如何编写 bash 脚本来解决这个问题?
我正在阅读 Salzman 的 Linux 内核模块编程指南,我想知道文件 linux/kernel.h 所在的位置。我找不到它find
。或者更确切地说,我发现的文件中没有任何printk
优先级宏。
bash ×2
shell ×2
shell-script ×2
kernel ×1
linux-kernel ×1
shebang ×1
ssh ×1
ssh-agent ×1
ssh-keygen ×1