是否可以通过命令行界面使用 Putty Key Generator?我找不到任何文档。
任何指针?
顺便说一句,我只想在 Windows 机器上生成一个 openssh 格式的密钥对。
我是Docker的新手,我从Dockerfile构建了容器,我可以看到容器正在创建并运行,但是我无法使用ssh连接到该容器.
这是我的Dockerfile:
FROM ubuntu:12.04
RUN apt-get update
RUN apt-get install -y apache2 & openssh-server
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
EXPOSE 80
EXPOSE 22
ENTRYPOINT ["/usr/sbin/apache2"]
CMD ["-D", "FOREGROUND"]
Run Code Online (Sandbox Code Playgroud)
然后我跑了这个cmd:
docker build -t="apache2" .
$ docker run -d apache2
Run Code Online (Sandbox Code Playgroud)
当我这样做时docker ps,我可以看到端口已分配,但我无法使用ssh连接到该容器.
$ docker ps
ID IMAGE COMMAND CREATED STATUS PORTS
5765535796f8 apache2:latest /usr/sbin/apache2 -D About a minute ago Up About a minute 49154->80,49155->22
Run Code Online (Sandbox Code Playgroud) 虽然是一个简单的问题,但我已经搜索了几天没有成功。
M = My machine
J = Jump Host
S = Server
Jump Host has my public key on authorized_keys.
Server has J's public key on authorized_keys.
Allowed connections (due to key authentication):
M -> J
J -> S
Run Code Online (Sandbox Code Playgroud)
我怎么可能从我的机器 ssh 进入 S?
我目前的配置是:
host jump
user root
HostName x.x.x.x
host server
user root
HostName x.x.x.x
port 22
ForwardAgent no
ProxyCommand ssh jump -W %h:%p
Run Code Online (Sandbox Code Playgroud)
当它尝试使用 M 的密钥登录时它不起作用。
这是 ssh 日志
debug1: Host 'x.x.x.x' is known and matches the ECDSA …Run Code Online (Sandbox Code Playgroud) 多年来,我一直在使用 Capistrano 成功部署我的 Rails 3.2.13 应用程序。但是就在今天,我ArgumentError: Could not parse PKey: no start line在连接到服务器时遇到了可怕的情况。
我从其他帖子中了解到,这实际上是net-sshCapistrano 用来建立连接的gem的问题。显然,较旧net-ssh版本的 OpenSSH 与较新版本的 OpenSSH 创建的密钥文件不兼容。(例如,请参见此处和此处。)
这种诊断得到以下支持:(a)我仍然可以从命令行通过 SSH 连接到我的服务器,以及(b)以下小irb会话:
irb(main):006:0> require 'net/ssh'
=> true
irb(main):007:0> Net::SSH::KeyFactory.load_private_key('~/.ssh/id_rsa')
ArgumentError: Could not parse PKey: no start line
Run Code Online (Sandbox Code Playgroud)
我想我最近在更改密码时更新了我的私钥文件,现在它与我的版本net-ssh(v2.7.0)不兼容。
我无法升级,net-ssh因为我一直在使用 Ruby 1.9.3。
有没有办法恢复到旧的/兼容版本的私钥文件?或者其他一些解决方案?
我已经配置了本机 Windows 10 OpenSSH,如下所述: https: //www.makeuseof.com/tag/windows-10-ssh-vs-putty/
另外,我已经作为服务 ssh-agent 启动,添加了私钥,并且在重新启动之间我的私钥密码被记住。
所以主要是,我可以在重新启动后立即执行以下操作,而无需提示:ssh -T git@gitlab.com
但是,我不知道如何获得“git”的任何实现来将 ssh 工作委托给 Windows 本机 ssh 代理,以便我可以在没有任何提示的情况下执行克隆,例如:git clone git@gitlab.com:SandboxAtHoopSoft/create-aws-accounts.git
我将身份id_rsa从一台旧计算机复制到一台新计算机,两者都运行相同版本的 Debian。当我这样做时ssh-add:
Could not add identity xxx: agent refused operation
Run Code Online (Sandbox Code Playgroud)
为什么?
我在 CentOS 服务器上运行 Ansible,并且可以在 Windows 和 RHEL/CentOS Linux 服务器上成功运行 playbook,但令我震惊的是我无法让 playbook 在任何 Ubuntu 服务器(v14.04、v16.04 或 v18.04)上运行- 包括 AWS 托管实例)!
奇怪的是Anible hostname -m ping 命令在所有 Ubuntu 主机上都可以正常工作......
我尝试将 CentOS 和 OpenSSH 更新到最新版本,但没有成功。我正试图解决这个问题,所以我希望有人能帮助我......
我的 Ansible 设置如下:
[root@ansible ansible]# ansible --version
ansible 2.9.3
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Aug 7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
Run Code Online (Sandbox Code Playgroud)
CentOS版本:
[root@ansible …Run Code Online (Sandbox Code Playgroud) 我有一个项目,每次我git push使用 SSH 密钥(在 Windows 上)访问我的 GitHub 帐户时,命令行都会挂起几分钟,然后我最终会得到Connection to github.com closed by remote host. 我可以做git pull或git fetch成功的错误。我也可以ssh -T git@github.com成功。
我已经成功地推动了这个项目一段时间了。我认为当我切换到使用 OpenSSH 作为我的 SSH 代理并将其配置为对不同的 SSH 帐户使用两个不同的密钥时,这个问题就开始了。但是,我已经禁用了单独的键(我重命名了我的.ssh\config文件)进行测试,但我仍然遇到同样的问题。
我尝试将这个项目克隆到我计算机上的另一个位置,更新它,然后git push从新克隆的存储库中正确运行。
这是git remote show origin我原始回购的结果。
* remote origin
Fetch URL: git@github.com:MyUserName/MyRepo.git
Push URL: git@github.com:MyUserName/MyRepo.git
HEAD branch: master
Remote branches:
develop tracked
master tracked
test new (next fetch will store in remotes/origin)
Local branches configured for 'git pull':
develop …Run Code Online (Sandbox Code Playgroud) 使用 OpenSSH,我已将我的设置设置/etc/ssh/ssh_config为一个,ProxyCommand以便所有 SSH 连接都通过该代理。
/etc/ssh/ssh_config:
Host *
ProxyCommand nc -X connect -x localhost:8111 %h %p
Run Code Online (Sandbox Code Playgroud)
但我想禁用一台特定 SSH 主机的代理。
我已将以下内容添加到我的~/.ssh/config:
Host ssh.example.org
HostName ssh.example.org
ProxyCommand ""
Run Code Online (Sandbox Code Playgroud)
我应该放什么,ProxyCommand以便它不只为该特定主机使用代理,但默认情况下仍然通过代理进行 SSH 连接?
我在 Windows 上的 PowerShell 中使用 git。我确保ssh-agent正在运行,并且ssh-add有我的私钥。
$ Get-Service ssh-agent
Status Name DisplayName
------ ---- -----------
Running ssh-agent OpenSSH Authentication Agent
$ ssh-add -l
256 SHA256:2MDH36ZZcM1uf9wQ2tsMj4NROkiGeKUD+CwBsVXrKXY xxxxxxxxxx@gmail.com (ED25519)
Run Code Online (Sandbox Code Playgroud)
但 git 每次仍然要求输入密码。我尝试通过设置进行调试GIT_SSH_COMMAND="ssh -vvv",但无法理解出了什么问题。下面是我运行时的详细输出git push。
$ git push
OpenSSH_8.5p1, OpenSSL 1.1.1k 25 Mar 2021
debug1: Reading configuration data /etc/ssh/ssh_config
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/c/Users/username/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/c/Users/username/.ssh/known_hosts2'
debug2: resolving "github.com" port 22
debug3: ssh_connect_direct: entering
debug1: Connecting to github.com [140.82.114.4] port …Run Code Online (Sandbox Code Playgroud)