相关疑难解决方法(0)

将 ssh 密钥复制到另一台机器的最简单方法?

我在家里很懒,对我的家用机器使用密码认证。我已准备好转向基于密钥的身份验证。网络上有很多关于如何执行此操作的选项,包括 catting 然后 ssh the key over,直接 scping key over 等。

我正在寻找复制密钥的最简单和推荐的方法,希望 Ubuntu ssh 包中的某处有一个方便的包装器?

我已经知道如何关闭密码登录

ssh

421
推荐指数
7
解决办法
81万
查看次数

您可以在 .ssh/config 中设置密码以允许自动登录吗?

我正在使用 Ubuntu 11.10。我ssh每天都用于连接许多服务器,所以我将它们的参数放在.ssh/config文件中,如下所示:

Host Home
User netmoon
Port 22
HostName test.com
Run Code Online (Sandbox Code Playgroud)

有没有办法将每个连接的密码放在这个文件中,这样,当服务器要求输入密码时,终端输入其密码并将其发送到服务器?

我需要这个,因为有时我远离电脑,当我回去时,输入密码并按Enter终端说CONNECTION CLOSED

PS 我不想使用公钥/私钥对。

ssh command-line bash remote-access

107
推荐指数
6
解决办法
25万
查看次数

如何使用密码生成器进行远程登录的身份验证?

我想通过添加另一个因素来加强我的 SSH 登录的身份验证:密码生成器设备或我手机上的密码生成应用程序。默认设置中唯一明显的选项是固定的密码和密钥对。我怎样才能做到这一点?

(如果我使用密码和密码生成器,这提供了两步验证(2FA):密码是“我知道的”,密码是“我拥有的”。)

ssh security authentication pam

55
推荐指数
2
解决办法
5978
查看次数

如何设置 SSH 身份验证密钥?

可能重复:
如何设置无密码 SSH 登录?

我正在使用 ssh 连接到远程服务器。每次都提示我提供密码,但我记得能够设置一种身份验证密钥,因此不需要密码。

然而,已经很久了,我几乎忘记了关于它的一切,除了“钥匙”这个词。你设置并忘记的那些事情之一,我从来没有完全理解它。

它是如何完成的?

ssh

41
推荐指数
1
解决办法
13万
查看次数

具有非默认身份文件位置的无密码 SSH

作为启动脚本的一部分,我必须自动打开几个 gnome-terminal 窗口,其中一个终端会自动发送:

ssh user@192.168.1.3
Run Code Online (Sandbox Code Playgroud)

这样做的限制是我仍然需要输入密码才能完成 SSH 连接。

我想要做的是让我的脚本启动命令并完成连接。在这种情况下,我试图按照此处接受的答案中概述的说明进行操作。

从我希望连接的系统中,我运行:

ssh-keygen
Enter file in which to save the key: /home/user/ssh/keys/server1key
Run Code Online (Sandbox Code Playgroud)

然后它提示我输入密码。我把它留空了,因为我不确定它的用途,所以我假设设置一个需要在每次使用时使用所述密码解锁它。

继续上面链接的说明,然后我运行并收到以下信息:

ssh-copy-id user@IP
ERROR: No identities found
Run Code Online (Sandbox Code Playgroud)

快速搜索显示我需要指定密钥的位置,因为它不在默认保存位置,所以我修复了:

ssh-copy-id -i /home/user/ssh/keys/server1key.pub user@192.168.1.3
Run Code Online (Sandbox Code Playgroud)

在询问服务器的密码后,它成功添加了密钥。但是,在尝试使用“ssh user@IP”登录时,仍然提示我输入密码。

据我所知,我正确地遵循了链接的说明,所以要么我遗漏了什么,要么现有的配置阻止我让它工作?

两个系统都使用 18.04 和 openssh。

server ssh command-line password

18
推荐指数
1
解决办法
9452
查看次数

SSH 公钥身份验证不起作用

我在 Ubuntu Server 12.04 (A) 上为 SSH 服务器设置公钥身份验证时遇到问题,以便从 Ubuntu Server 13.04 (B) 进行身份验证。

我现在在做什么(我正在尝试按照此处的说明进行操作):

  • 在 B 上:创建一个带有 的新密钥ssh-keygen -C "",不使用密码,写入/.ssh/id_rsa- 我没有收到任何错误
  • 在 B 上:运行ssh-copy-id -i /.ssh/id_rsa user@host-a- 还有一条成功消息
  • 在 B: ssh -i /.ssh/id_rsa user@host-a- 我仍然需要输入我的密码user@host-a

在A上,我检查了/.ssh/authorized_keys运行后是否修改了ssh-copy-id,是这种情况。此外,在两台设备上,我都将此添加到/etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile /.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)

有谁知道这里可能有什么问题?


这是我/var/log/auth.log在机器 A 上的尾巴:

Jun 13 22:17:56 laptop-camil sshd[12344]: Server listening on 0.0.0.0 port 22.
Jun 13 22:17:56 laptop-camil sshd[12344]: …
Run Code Online (Sandbox Code Playgroud)

server ssh security 12.04 sshd

10
推荐指数
1
解决办法
6万
查看次数

如何在登录 SOCKS 代理时自动启动 SSH -D 隧道?

我知道如果我想启动一个 SSH 隧道

ssh -d 9000 user@userserver
Run Code Online (Sandbox Code Playgroud)

这是在端口 9000 上为主机“userserver”上名为“user”的用户打开动态隧道的一种解决方案

但是,如何在 Ubuntu 中自动执行此过程,以便每次登录并启动隧道时都不必打开终端?我想在登录的那一刻就使用 SSH。

我知道我可以创建一个 bash 文件,但是我是否不必以明文形式存储我的服务器用户的密码,因为在初始命令之后我会被提示输入密码?

ssh startup tunnel proxy

9
推荐指数
2
解决办法
9376
查看次数

如何在 Ubuntu 中保存 SSH 选项和连接?

目前我有两台我要连接的远程机器。对于一个我使用带密码的私钥,另一个我使用 root 密码。

现在,当我想使用 root 密码身份验证连接到机器时,首先 ssh 会询问我的计算机密码短语,其中私钥在我的 ~/.ssh 目录中,然后当我输入正确的密码短语时,让我输入我的计算机的密码使用 root 密码连接。

有没有办法保存会话和连接选项,例如在 Putty 中?

server ssh networking password

9
推荐指数
1
解决办法
2万
查看次数

为什么我们要让锁定的帐户过期以完全阻止访问?

来自man usermod

注意:如果您希望锁定帐户(不仅是使用密码访问),您还应该将 EXPIRE_DATE 设置为 1。

  • 为什么我们要让锁定的帐户过期以完全阻止对该帐户的访问?
  • 如果我的锁定帐户没有过期会怎样?

users accounts user-management

8
推荐指数
1
解决办法
762
查看次数

使用 sudo 在远程设备上挂载外部磁盘

我目前正在开发两台设备,一台正在测试另一台。它们基于 beaglebone black,并在 Ubuntu 14.04 下运行。我的问题是我必须在测试设备上但从测试设备上检测并安装 USB 外部存储设备。

我尝试了一些命令来避免输入密码,例如

sshpass -p <password> ssh aet@192.168.100.200 StrictHostKeyChecking=no "echo gra64nola | sudo -S true mount /dev/sda1/ /media"
Run Code Online (Sandbox Code Playgroud)

但是当我执行这一行时,远程设备上没有任何反应。我在这个命令行上尝试了几个不同的版本,但我现在迷路了。我不知道如何做我想做的事。

有关信息,我在 node-red 下工作,并执行这三个命令行来检测和挂载设备。aet@192.168.100.200 是被测设备的IP。它通过以太网与测试交换机连接在一台公共交换机上。

sshpass -p <password> ssh aet@192.168.100.200 StrictHostKeyChecking=no "echo gra64nola | sudo -S true mount /dev/sda1/ /media"

sshpass -p <password> ssh aet@192.168.100.200 StrictHostKeyChecking=no "echo gra64nola | sudo -S true umount /media"

sshpass -p <password> ssh aet@192.168.100.200 -o StrictHostKeyChecking=no "echo gra64nola |sudo -S find /media/FINDME.txt"
Run Code Online (Sandbox Code Playgroud)

第三个用于查找文件以检查设备的 USB 端口是否正常工作。我不想让任何人来做我的全部工作,但是你能知道如何安装这个外部磁盘吗?

谢谢你的帮助。

sudo usb mount remote 14.04

6
推荐指数
1
解决办法
702
查看次数