Linux系统运行Redhat 5.1。
当我使用 SSH 连接到计算机时,在登录完成并获得 shell 之前会出现很长的延迟。
我做了一些研究,找到了这个问题的解决方案,建议我删除/etc/resolv.conf, 然后登录就会很快。我尝试这样做并且确实有效;删除/etc/resolv.conf加速的东西。
所以现在我想了解为什么这会导致问题,以及如何在不破坏名称解析的情况下快速登录 SSH。
更新:UseDNS no已在sshd_config(但尚未解决问题)
我知道(几乎?)所有 SSH 命令行参数都可以替换为 ~/.ssh/config 中的属性。但如何系统地执行此操作并不明显:页面man仅ssh松散地引用配置页面(例如,“端口转发也可以在配置文件中指定。”)。该man页面ssh_config从不引用命令行选项。
那么,是否有相应的配置参数和命令行选项的明确列表?例如,-R对应什么?
我必须创建 SSH 隧道来将部署服务器连接到 VPN:
DeploymentServer --> Gateway --> PrivateServer
每台机器都使用一个密钥,我尝试了以下命令:
myMachine $ ssh -i GATEWAY_KEY.pem -N -L 1122:ubuntu@SERVER_PRIVATE_IP:22 ubuntu@GATEWAY_IP
然后在另一个终端窗口中:
myMachine $ ssh -i PRIVATE_SERVER_KEY.pem -p 1122 ubuntu@SERVER_PRIVATE_IP
但它不起作用,我收到超时错误。我的端口 1122 已打开,我可以通过 SSH 进行连接。我不知道我做错了什么,我的语法正确吗?
这是我的第一个隧道,所以不要笑我!
编辑1
我添加-v并修复了第二个 SSH 调用。
第一次调用:
myMachine $ ssh -i GATEWAY_KEY.pem -N -L 1122:ubuntu@SERVER_PRIVATE_IP:22 ubuntu@GATEWAY_IP -v
响应:debug1: Authentication succeeded (publickey).
第二次通话:
myMachine $ ssh -i PRIVATE_SERVER_KEY.pem -p 1122 ubuntu@localhost -v
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: …Run Code Online (Sandbox Code Playgroud) 我的 resolv.conf 搜索顺序中有许多本地域。当我连接到不合格(没有 DNS 后缀)主机名时,我非常希望默认转发 SSH 代理。我能想到的最好的办法是 ~/.ssh/config 中的以下内容:
Host *.edu
ForwardAgent no
Host *.com
ForwardAgent no
Host *.net
ForwardAgent no
Host *.org
ForwardAgent no
Host *
ForwardAgent yes
Run Code Online (Sandbox Code Playgroud)
除了列出我仍然想转发的 edu/com/net/org 的已知后缀,例如 .srv.example.com。
对于具有主机命名前缀约定(例如用于 Fedora 系统的 fc-*)的站点,一个简单的通配符条目可以与它们匹配,但这不适用于通用名称或无前缀名称。
有没有比上面丑陋的黑客更好的方法来做到这一点?
我已经通过 ssh 登录到运行 Centos 7 的服务器并执行以下命令:
[me@server ~]$ ps -ef --forest | grep ssh
root 476 1 0 Dec02 ? 00:00:00 /usr/sbin/sshd -D
root 12366 476 0 23:26 ? 00:00:00 \_ sshd: me[priv]
me 12368 12366 0 23:27 ? 00:00:00 | \_ sshd: me@pts/0
me 12405 12369 0 23:27 pts/0 00:00:00 | \_ grep --color=auto ssh
root 12401 476 0 23:27 ? 00:00:00 \_ sshd: root [priv]
sshd 12402 12401 0 23:27 ? 00:00:00 \_ sshd: root [net]
me 12399 …Run Code Online (Sandbox Code Playgroud) 我正在尝试设置从我的 AMAZON 实例到我的本地计算机(开发)的远程转发 我的问题是,当我连接到 amazon 服务器并且运行 netstat -antp 命令时,它显示我有一个套接字正在侦听127.0.0.1:8080 仅限但我希望它侦听公共接口。
我的“netstat -antp | grep LISTEN”的输出:
[centos@ip-##-##-##-## ~]$ netstat -ant
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN -
Run Code Online (Sandbox Code Playgroud)
我尝试使用 RemoteForward 选项:
[PUBLIC_IP]:8080
[AMAZON_INTERNAL_IP]:8080
0.0.0.0:8080
Run Code Online (Sandbox Code Playgroud)
这是我的 .ssh/config 文件的内容:
Host amazon
User centos
HostName ###.###.###.###
RemoteForward 8080 127.0.0.1:81
IdentityFile ~/.key.pem
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助 !
我在 .bashrc 文件中添加了以下行,以启动 ssh-agent(如果它未运行)。
if [ -z "$SSH_AUTH_SOCK" ];then eval `ssh-agent -s`;ssh-add ~/.ssh/my_private_key;fi
Run Code Online (Sandbox Code Playgroud)
但每次我再次登录时,ssh-agent 进程的数量都会增加如何避免这种情况。请查看以下日志并告诉我做错了什么。
[vm@localhost ~]$ ssh root@192.168.x.x
Last login: Wed Feb 15 06:32:07 2017 from x.x.x.x
[root@server ~]# pgrep ssh-agent | wc -l
2
[root@server ~]# exit
Shared connection to x.x.x.x closed.
[vm@localhost ~]$ ssh root@192.168.x.x
Last login: Wed Feb 15 06:32:20 2017 from x.x.x.x
[root@server ~]# pgrep ssh-agent | wc -l
3
[root@server ~]# exit
Shared connection to x.x.x.x closed.
[vm@localhost ~]$ ssh root@192.168.x.x
Last login: Wed …Run Code Online (Sandbox Code Playgroud) 这是我不久前研究过的,并找到了一些有用的信息......但现在我实际上需要这样做,当然我再也找不到我看到的指南了。
无论如何,情况是这样的。我有一个通过 SSH 使用 ncurses 菜单运行的程序。我希望用户能够通过 SSH 登录到该程序,但仅限于该程序。
我必须做什么才能使这种情况成为可能?
我的目标是完全限制他们看到命令行,并且仅限于该程序。这可能吗?我/我将如何去做?
我在连接 aws 上的 Ubuntu 16.04 ec2 实例时遇到问题。我已将我的公钥添加到授权密钥文件中,并使用 Myip 添加了我的 ip,以便在端口 22 上进行 ssh 访问。
我正在尝试使用正常方式连接:
ssh ubuntu@aws-instance.com
Run Code Online (Sandbox Code Playgroud)
我什至重新启动了我的 ec2 实例。
我还需要做什么才能获得访问权限?
谢谢
我在我的 Linux 机器上收到以下错误消息。
sshd[9287]: message repeated 2 times: [ error: PAM: Authentication failure for root from 172.16.2.1]
sshd[9287]: Received disconnect from 172.16.2.1: 11: [preauth]
sshd[9312]: error: PAM: Authentication failure for root from 172.16.2.1
sshd[9315]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=172.16.2.1 user=root
Run Code Online (Sandbox Code Playgroud)
这种情况经常发生,我的日志中充满了此错误消息。如何克服这个问题?
ssh ×10
linux ×4
ssh-agent ×2
ssh-keys ×2
ssh-tunnel ×2
amazon-ec2 ×1
amazon-vpc ×1
login ×1
ps ×1
shell ×1