我想使用多个私钥连接到不同的服务器或同一服务器的不同部分(我的用途是服务器的系统管理,Git的管理,以及同一服务器内的正常Git使用).我试过简单地将id_rsa文件中的密钥堆叠起来无济于事.
显然,一种直接的方法是使用该命令
ssh -i <key location> login@server.example.com
Run Code Online (Sandbox Code Playgroud)
这非常麻烦.
关于如何更轻松地做这件事的任何建议?
我可能忘记了SSH密码的密码.再次.
但我有预感它可能是什么.我如何检查我是否正确?
最近我一直无法克隆或推送到github,我正试图找到根本原因.
这是在Windows上
我有cygwin + git以及msysgit.
使用以下选项安装Msysgit:
这给了我4个环境来尝试使用git:
不知何故,我设法让自己进入一个位置,当我尝试使用msysgit,cmd.exe或Powershell克隆存储库时,我收到以下错误:
> Initialized empty Git repository in
> C:/sandbox/SomeProject/.git/
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> @ WARNING: UNPROTECTED PRIVATE KEY FILE! @
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> Permissions 0644 for
> '/c/Users/Ben/.ssh/id_rsa' are too
> open. It is recommended that your
> private key files are NOT accessible
> by others. This private key will be
> ignored. bad permissions: ignore key:
> /c/Users/Ben/.ssh/id_rsa Permission
> denied (publickey). fatal: The …Run Code Online (Sandbox Code Playgroud) 我需要创建一个自动输入密码给OpenSSH ssh客户端的脚本.
假设我需要myname@somehost使用密码进入SSH a1234b.
我已经尝试过......
#~/bin/myssh.sh
ssh myname@somehost
a1234b
Run Code Online (Sandbox Code Playgroud)
......但这不起作用.
如何将此功能添加到脚本中?
我尝试像这样在 M1 macOS 终端中连接到 ssh 服务器
ssh -i {myKeyFilePath/myKeyFile.pem} user@host
Run Code Online (Sandbox Code Playgroud)
但它返回
sign_and_send_pubkey: no mutual signature supported
user@host: Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)
我没有修改任何ssh设置,{myKeyFile.pem}的文件权限是400。我也可以通过IntelliJ远程主机很好地连接ssh服务器,但是当我在终端中尝试这个时,它出错了。
我有一个der格式的证书,从这个命令我生成一个公钥:
openssl x509 -inform der -in ejbcacert.cer -noout -pubkey > pub1key.pub
Run Code Online (Sandbox Code Playgroud)
结果如下:
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7vbqajDw4o6gJy8UtmIbkcpnk
O3Kwc4qsEnSZp/TR+fQi62F79RHWmwKOtFmwteURgLbj7D/WGuNLGOfa/2vse3G2
eHnHl5CB8ruRX9fBl/KgwCVr2JaEuUm66bBQeP5XeBotdR4cvX38uPYivCDdPjJ1
QWPdspTBKcxeFbccDwIDAQAB
-----END PUBLIC KEY-----
Run Code Online (Sandbox Code Playgroud)
我怎样才能获得这样的公钥?来自证书还是来自这个公钥?
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC7vbqajDw4o6gJy8UtmIbkcpnkO3Kwc4qsEnSZp/TR+fQi62F79RHWmwKOtFmwteURgLbj7D/WGuNLGOfa/2vse3G2eHnHl5CB8ruRX9fBl/KgwCVr2JaEuUm66bBQeP5XeBotdR4cvX38uPYivCDdPjJ1QWPdspTBKcxeFbccDw==
Run Code Online (Sandbox Code Playgroud)
这是通过以下命令获得的:
ssh-keygen -y -f private_key1.pem > public_key1.pub
Run Code Online (Sandbox Code Playgroud) 我一直在Windows XP上使用Putty并使用.ppk文件连接到我的Linux服务器(多个服务器).
在服务器上,我有以下文件夹和文件〜/ .ssh/authorized_keys
我现在想用Mac通过终端连接.我手动设置了与服务器的远程连接,并想知道如何使用ppk文件或其中的私有/公共密钥进行设置.
请注意:我已经在Windows上使用私钥/公钥登录,因此我不需要使用keygen创建新密钥,我只想知道如何设置我已经拥有密钥.(换句话说,我已经拥有服务器上的授权密钥列表,以及公钥和私钥).
我正在尝试按照本教程设置与Github的SSH连接:https:
//help.github.com/articles/testing-your-ssh-connection/
我遇到了以下命令:
$ ssh -T git@github.com
# Attempts to ssh to github
Run Code Online (Sandbox Code Playgroud)
好奇,我看了ssh手册.它说如下:
-T Disable pseudo-tty allocation.
Run Code Online (Sandbox Code Playgroud)
什么是tty分配?tty代表什么?我们为什么要禁用它?
我认真地试着查一查,但我甚至找不到定义.
我在Google上看到有关如何查看RSA密钥指纹的内容,而不是ECDSA指纹.