我正在通过 ssh 访问一个 linux 机器。我只是用 yum update 更新软件包。然后我断开了连接,但是当我使用同一个帐户再次与 ssh 连接时,如果更新过程已经完成,我现在无法连接。
当我重新连接到服务器时,如何知道在断开连接之前已启动的任务的状态?
我正在使用 Ubuntu 服务器 10.04。
ssh-add /foo/cert.pem 给出了以下输出:
无法打开与您的身份验证代理的连接。
这些是我正在运行的进程:
ps -aux | grep ssh
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
root 1523 0.0 0.0 49260 632 ? Ss Dec25 0:00 /usr/sbin/sshd
root 10023 0.0 0.3 141304 6012 ? Ss 12:58 0:00 sshd: padmin [priv]
padmin 10117 0.0 0.1 141304 2400 ? S 12:58 0:00 sshd: padmin@pts/1
padmin 11867 0.0 0.0 7628 964 pts/1 S+ 13:06 0:00 grep --color=auto ssh
root 31041 0.0 0.3 141264 5884 ? …Run Code Online (Sandbox Code Playgroud) 我刚刚设置了一个新的 Debian 服务器。我禁用了 root SSH 和密码身份验证,因此您必须使用密钥文件。
对于我的主要用户,一切都按预期工作。我使用ssh-keygen -t dsa并获得了自己的公钥和私钥。将一个放在授权密钥中,将另一个放在本地的 pem 文件中。
我想创建一个可以用来部署东西的用户,所以我做了基本相同的过程。我adduser编辑它,创建一个.ssh文件夹,运行ssh-keygen -t dsa(我也尝试过 RSA),将密钥放在适当的位置。
没运气。我收到一个Permission denied (publickey)错误。当我使用与有效帐户完全相同的密钥时,同样的错误。当我启用密码认证时,我可以使用密码通过 SSH 登录。
我该如何调试?
编辑
详细的 ssh 输出(deployer.pem 是正确的键):
debug2:密钥:/Users/eli/.ec2/deployer.pem (0x100126830) debug2:密钥:/Users/eli/.ec2/deployer.pem (0x100126b30) debug2:密钥:/Users/eli/.ec2/deployer.pem (0x0) debug1:可以继续的身份验证:publickey debug3:重新开始,传递不同的列表公钥 debug3:首选公钥,键盘交互,密码 debug3:authmethod_lookup 公钥 debug3:剩余首选:键盘交互,密码 debug3:authmethod_is_enabled 公钥 debug1:下一个身份验证方法:publickey debug1:提供公钥:/Users/eli/.ssh/id_rsa 调试 3:send_pubkey_test debug2:我们发送了一个公钥包,等待回复 debug1:可以继续的身份验证:publickey debug1:提供公钥:eli.pem 调试 3:send_pubkey_test debug2:我们发送了一个公钥包,等待回复 debug1:可以继续的身份验证:publickey debug1:提供公钥:/Users/eli/.ec2/deployer.pem 调试 3:send_pubkey_test debug2:我们发送了一个公钥包,等待回复 debug1:可以继续的身份验证:publickey debug1:提供公钥:/Users/eli/.ec2/deployer.pem 调试 3:send_pubkey_test debug2:我们发送了一个公钥包,等待回复 debug1:可以继续的身份验证:publickey debug1:尝试私钥:/Users/eli/.ec2/deployer.pem debug1:读取 PEM 私钥完成:输入 DSA debug3:sign_and_send_pubkey debug2:我们发送了一个公钥包,等待回复 debug1:可以继续的身份验证:publickey debug2:我们没有发送数据包,禁用方法 …
我正在尝试连接到网络路由器并show status在其上执行。
目前我正在使用:
它不起作用,我被困在我尝试输入密码但它不起作用,我得到:我在这里做错了什么......?
spawn ssh -o StrictHostKeyChecking=no admin@192.168.20.254
expect " * ? password:*\r"
send -- "secretPassword\r"
sleep 5
send -- "show status\r"
sleep 10
send -- "exit\r"
admin@192.168.20.254's password:
server1:~# secretPassword
-bash: server1: command not found
server1:~#
如果您gitosis通过 apt-get 在 ubuntu-server 10.10 上安装:
sudo apt-get install gitosis
安装后脚本将创建一个新gitosis用户。
该用户将用于允许人们使用公钥连接 SSH。也就是说,无需每个用户在您的服务器上拥有自己的帐户:
git clone gitosis@server.com:project.git
git remote add origin gitosis@server.com:project.git
到现在为止还挺好。但:
我见过很多次,我个人更喜欢使用git用户名:
git clone git@server.com:project.git
git remote add origin git@server.com:project.git
gitosis而不是简单地git在 ubuntu-server 上使用?gitosis用户重命名为git:sudo usermod -l git gitosis欢迎任何想法
这是我注意到的一个情况。我有一个服务器,我通过 SSH 登录,当我从lan登录时,一切正常,我注意到即使连接空闲(即我没有在刚刚登录的 SSH 会话上做任何事情)连接是存活很长时间,但是如果我从互联网在同一台服务器上执行 SSH,那么一段时间后连接就会断开。服务器是 Ubuntu 10.04 服务器版服务器。这可能是什么原因?
有时我的 ssh 客户端会花费很长时间才能登录。
当服务器没有响应(过载、已终止处理等)时会发生这种情况。我的自动化脚本将失败,因为 ssh 进程永远不会退出。
如果 ssh 在预定义的秒数后无法登录,是否有 ssh 配置值来设置超时以失败?
我知道服务器端有旋钮,但我必须在客户端设置它,因为 sshd 进程没有响应,或者响应不正确。
谢谢!
我们有越来越多的服务器,包括物理和虚拟服务器,我们需要登录这些服务器。登录通常使用 SSH,使用 RSA 密钥对而不是密码(在 SSH 设置中关闭)。现在我们正在设置我们的密码并将我们的密钥上传到每台机器上,但这很容易发生事故。我们很容易错过一个设置,最终导致团队中的一个无法登录,或者在没有意识到的情况下打开密码访问。
因此,我们希望集中管理这些凭据。它应该设置密码,上传公钥,确保 SSH 具有正确的设置,并且可以轻松添加新用户或删除已离开的用户。
我想将正确的文件复制到正确的位置的脚本可以,但是当它们分散在整个系统中时看起来很混乱。您建议我们如何管理此类凭据?它应该是每台机器上可能实现的最少工作。
我的主机使用密码而不是 id_rsa 的 SSH 登录。但是不是每次都输入密码,有没有办法将密码放在我的 .ssh/config 中?
例如:
Host gravy_access
Hostname 127.0.0.1
User my_name_is_gravy
Password gravy_password
Run Code Online (Sandbox Code Playgroud)
这样当我ssh gravy_access它会立即允许访问。
这是我被告知通过单击控制面板中的连接来使用的命令
ssh -i private_key.pem root@instancePublicDNS
Run Code Online (Sandbox Code Playgroud)
好吧,那个失败了,所以我想知道会发生什么,所以我跑了:
ssh -vvv private_key.pem root@instancePublicDNS
Run Code Online (Sandbox Code Playgroud)
OpenSSH_4.6p1、OpenSSL 0.9.8e 2007 年 2 月 23 日
debug2:ssh_connect:needpriv 0
debug1:连接到 private_key.pem [ 。. . ] 端口 22。
debug1:连接到地址。. . 端口 22:在未建立连接的情况下尝试连接超时。
ssh:连接到主机 private_key.pem 端口 22:错误的文件号
有任何想法吗?
我在谷歌和 serverfault 上搜索了答案,我发现了一些可能的解决方案,但没有用。
实例信息
AMI-ID:ami-688c7801(ubuntu 10.10 服务器)
ssh ×10
linux ×3
ubuntu ×3
amazon-ec2 ×1
bash ×1
connection ×1
debian ×1
expect ×1
git ×1
password ×1
remote ×1
rsa ×1
security ×1
ssh-agent ×1
ubuntu-10.10 ×1