我正在使用我在这里找到的 URL:
我的 ssh 客户端是 Ubuntu 64 位 11.10 桌面,我的服务器是 Centos 6.2 64 位。我已按照指示进行操作。我仍然在 ssh 上收到密码提示。
我不知道接下来要做什么。
如果我使用来自例如 Ubuntu 11.04 的公钥身份验证,我如何将 ssh 客户端设置为仅对服务器使用密码身份验证?(只是因为在服务器上测试密码而需要,我默认使用密钥登录)
我找到了一个方法:
mv ~/.ssh/id_rsa ~/.ssh/id_rsa.backup
mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.backup
Run Code Online (Sandbox Code Playgroud)
现在我被提示输入密码,但有什么官方方法吗?
如何以及在哪里可以检查已将哪些密钥添加ssh-add
到我的ssh-agent
?
我在本指南的帮助下设置了我的 ssh 东西,它曾经运行良好(我可以在hg push
没有被要求输入密码的情况下运行)。考虑到我仍在使用相同的主目录,从那时到现在可能会发生什么。
$ cat .hg/hgrc
[paths]
default = ssh://hg@bitbucket.org/tshepang/bloog
$ hg push
Enter passphrase for key '/home/wena/.ssh/id_rsa':
pushing to ssh://hg@bitbucket.org/tshepang/bloog
searching for changes
...
Run Code Online (Sandbox Code Playgroud) 我无法通过 ssh 连接到要求diffie-hellman-group1-sha1
密钥交换方法的服务器:
ssh 123.123.123.123
Unable to negotiate with 123.123.123.123 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
Run Code Online (Sandbox Code Playgroud)
如何diffie-hellman-group1-sha1
在 Debian 8.0 上启用密钥交换方法?
我曾尝试(如建议在这里),以
将以下行添加到我的 /etc/ssh/ssh_config
KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr
Run Code Online (Sandbox Code Playgroud)重新生成密钥
ssh-keygen -A
Run Code Online (Sandbox Code Playgroud)重新启动 ssh
service ssh restart
Run Code Online (Sandbox Code Playgroud)
但仍然得到错误。
我没有使用hosts.allow
or hosts.deny
,而且 SSH 可以在我的 Windows 机器(相同的笔记本电脑,不同的硬盘驱动器)上运行,但不能在我的 Linux 机器上运行。
ssh -vvv root@host -p port
给出:
OpenSSH_6.6, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to host [host] port <port>.
debug1: Connection established.
debug1: identity file /home/torxed/.ssh/id_dsa type -1
debug1: identity file /home/torxed/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6
ssh_exchange_identification: read: Connection reset …
Run Code Online (Sandbox Code Playgroud) 我有一个我无法找到答案的问题。我有两台计算机,都运行 Ubuntu Linux 12.04。我已经设置了我的第一台计算机(“家”),以便能够使用公共/私有 RSA 密钥身份验证通过 SSH 连接到我的第二台计算机(“远程”)。
这不是第一个在我的家用计算机上使用密钥身份验证建立的 SSH 连接,因此我的家用计算机有几个 id_rsa 私钥文件(每个文件都用于不同的计算机以进行 SSH 连接)。因此,我能够成功SSH只有当我指定(在密钥文件ssh
,该-i
选项),使用ssh username@ipaddress -i path/to/keyfile/id_rsa.2
。
这很好用。但是,我也想使用sshfs
挂载远程文件系统的 。虽然ssh
使用多个密钥似乎很好,但我找不到sshfs
使用正确私钥(“id_rsa.2”)的方法。
有没有办法sshfs
做到这一点?
我们正在尝试为 RAC 安装加速 oracle 节点的安装。这要求我们安装和配置 ssh,以便它不会提示输入密码。
问题是:在第一次使用时,我们被提示
RSA key fingerprint is 96:a9:23:5c:cc:d1:0a:d4:70:22:93:e9:9e:1e:74:2f.
Are you sure you want to continue connecting (yes/no)? yes
Run Code Online (Sandbox Code Playgroud)
有没有办法避免这种情况,或者我们注定要在每个服务器上的每个服务器上手动连接至少一次?
我应该访问服务器,以便将公司的临时服务器和实时服务器链接到我们的部署循环中。他们这边的管理员设置了两个实例,然后在服务器上创建了一个用户,供我们通过 SSH 登录。我已经习惯了这么多。
在我看来,现在会发生的是我将我的公钥发送给他们,该公钥可以放在他们的授权密钥文件夹中。然而,他们通过电子邮件向我发送了一个文件名id_rsa
,该文件名包含-----BEGIN RSA PRIVATE KEY-----
在文件中。这是正常的吗?
我环顾四周,可以找到大量关于从头开始生成和设置我自己的密钥的资源,但没有从服务器的私钥开始。我应该使用它为自己生成一些密钥还是?
我会直接问系统管理员,但不想显得白痴,浪费我们中间的每个人的时间。我是否应该忽略他发给我的密钥并要求他们将我的公钥放在他们的授权文件夹中?
我目前为许多组织远程工作,这些组织需要我定期访问他们的服务器以进行维护和升级。将我的 RSA 公共 SSH 密钥添加到.ssh/authorized_keys
文件中以允许我更快地登录/无需查找密码是否安全?我假设不可能从公共密钥生成私钥,但我的假设是否正确?
更进一步,将我的 RSA 公钥内容发布到互联网上会不会有任何安全风险?我知道如果我的私钥被获取,我会遇到很多麻烦,但除此之外,还有什么真正可能的安全威胁吗?