我很好奇为什么我的反向 SSH 隧道在处于非活动状态一段时间后会关闭。这和具体的ISP有关系吗?我正在尝试反向隧道进入虚拟 Linux 盒子。杀死PID然后重新启动autossh后我可以远程连接。不过这只有效10分钟左右。
我真的很感激任何帮助!
谢谢
我有一个.ssh/config配置为使用 SSH 连接到不同服务器的文件:
###
# Identity files
###
IdentityFile ~/.ssh/id_dsa_home
IdentityFile ~/.ssh/id_dsa_github
IdentityFile ~/.ssh/id_rsa_bitbucket
###
# Global options
###
PasswordAuthentication no
PubkeyAuthentication yes
Host *
Port 22
Host icarus
User elitalon
HostName 192.168.1.1
Port 54301
Host zeus
User elitalon
HostName 192.168.2.1
Port 54302
Host github
User git
HostName github.com
Host bitbucket
User git
HostName bitbucket.org
Run Code Online (Sandbox Code Playgroud)
这个配置过去工作得很好。但是,由于我升级到 Mac OS X Mountain Lion,SSH 对于条目Port中的特定值的行为有所不同Host:
zeusSSH,则始终使用端口 22,而不是 54301。Port 22并尝试连接到Host没有Port …我想在多个监视器上使用 emacs:一个监视器将有代码,另一个监视器将有 R 会话来处理代码提交。我在一台 Windows 机器上通过 SSH 登录到服务器。我正在使用带有 Xwindow 的 emacs(X 打开时延迟太多 - 因此我运行emacs -nw)。这可能吗?
编辑:当我 ssh 进入集群时,两个终端会话可能物理连接到集群上的两个不同节点(两个不同的登录节点)
我有两台机器,m1 和 m2,机器 m2 可以使用 SSH 连接到 m1。有一台机器m1bis只能连接到m1,还有一台机器m2bis只能连接m2。我想让 m1bis 通过连接到机器 m1 的某个端口 p 来到达某个端口 q 上的机器 m2bis。假设 p 和 q 都是非特权端口,即它们大于 1024。在图片中:
+-------+ q +----+ SSH +----+ p +-------+
| m1bis | ----> | m1 | <------ | m2 | ----> | m2bis |
+-------+ +----+ +----+ +-------+
Run Code Online (Sandbox Code Playgroud)
我可以通过 shell 访问 m1 和 m2。我通常的做法是使用 SSH 反向端口转发,通过在 m2 上运行以下命令:
ssh -R *:q:m2bis:p m1
Run Code Online (Sandbox Code Playgroud)
这使得 m1 上的 SSH 守护进程侦听所有接口上的端口 q,并将任何传入连接中继到机器 m2bis 的端口 p。这样,当 m1bis 连接到机器 m1 的端口 q 时,连接通过 SSH 从 m1 …
几周前我设置了一台远程 Ubuntu 机器,我能够毫无问题地 ssh 进入它。直到几个小时前,当机器停止响应时,我尝试开始一个新会话。现在我只得到:
ssh: connect to host IP port XYZ: Operation timed out.
Run Code Online (Sandbox Code Playgroud)
不幸的是,我无法物理访问这台机器,所以我试图找出可能是什么问题。我试过:
ping IP
Run Code Online (Sandbox Code Playgroud)
但我不断得到Request timeout for icmp_seq 0。我的家人试图重新启动机器和路由器,但没有帮助。有什么建议吗?
PS:我是设置远程机器的新手,所以如果没有包含相关信息来回答我的问题,我很抱歉。
显然,一个问题是路由器的 IP 在我的ssh连接过程中发生了变化。我仍然有问题,但可能与机器有关,与网络无关。
我已经通过ssh-keygen -f foo. 文件内的密钥foo.pub是AAAAB3NzaC1yc2EAAAADAQABAAABAQDaJ1UGxfjTCzuVNvgjOyK/NF5KFDO2qUREGd9PBB+zJotS85XO9hQjq5XhdekXHfhCM/h3AeGW/xH+XfQIaNd6Lygkts3xls7FCqMVH4PxDpLTSQbbZCV+peMV6xNVv468SD07TGIp9RC0FFuR79tnz28X9RzKCUGrzpu38pAyPs4X3BGgMsc6IcPIfPnEZ61RMWiiouyShKuhD/G68DeTdokmmK0EnO2qMXgu7xsAw+2gSpotIgAPulAPpQr5+Cgit94GpN2Vy9OvhEGT3oqHsR8P4zoJ3rWppiCUDRvFZS/fQsRoNj59LRcPRVE0V8wLnpoEZOu85wBMiIfiac3F. 那是 372 个字符。1 个字符是 8 位,因此我的密钥是 372 * 8 = 2976 位密钥。这不可能是真的,因为man ssh-keygen说默认值为 2048 位。我哪里错了?
除了ping $HOSTssh 守护进程之外,是否有相当于运行的东西 ?只是为了检查它是否正在运行,不要尝试以特定用户身份登录或使用凭据进行验证
就像是
DAEMON_UP=$(sshping $HOST | process_output)
我刚刚使用教程https://www.digitalocean.com/community/tutorials/how-to-enable-sftp-without-shell-access-on-ubuntu-16-04创建了一个 SFTP 文件服务器
现在我想将文件共享给第三方,以便他们可以使用用户名和密码下载它们。问题是我不知道我的 FTP/SFTP 站点的 URL,因为我对 FTP 非常陌生。
我可以在 FileZilla 上看到 URL 为 sftp://dilipyadav@myhost.com。当我在浏览器上点击这个 URL 时,这不会打开 FTP 文件目录。
指向我的 FTP 文件目录的 URL 应该是什么?
我的家庭网络上有几台机器可以通过 ssh 连接。Windows、Mac 和 Linux。
而不是ssh name@123.0.0.1每次我想登录其中一个时,将 IP 设置为用户友好的东西会很好。甚至可能是远程计算机的主机名?
假设我的名字是 Matt,我想登录到主机名为 thinkpad 的机器。
我ssh matt@thinkpad可以以某种方式登录吗?
我发现了很多关于通过 ssh 连接两台计算机的教程,但我只是没有得到我想的关键点。(我试过例如这个或这个)
假设我是使用 ipv4 xxx.xxx.x.xx 的 userA,我想与我的朋友(在另一个国家/地区)userB 使用 ipv4 yyy.yyy.y.yy 建立 ssh 连接
所以,我生成了一个 ssh 密钥,我有一个不错的 ./ssh/id_rsa 和 ./ssh/id_rsa.pub,现在我想将它复制到我朋友的计算机上?
但是,正如人们所怀疑的那样,
ssh-copy-id -i ~/.ssh/id_rsa.pub userB@yyy.yyy.y.yy
Run Code Online (Sandbox Code Playgroud)
不工作(怎么可能,因为我们还没有被限制?)
用户 B 是否必须手动将此文件复制到他自己的 .ssh 文件中?
然后在我的电脑上
ssh userB@yyy.yyy.y.yy
会直接工作吗?(这是非常不现实的,我认为......)
很抱歉这么愚蠢,但在我看来,在教程中,人们正在处理同一台计算机......