如何连接同一个家庭无线网络中运行 Ubuntu 的笔记本电脑?

如何连接同一个家庭无线网络中运行 Ubuntu 的笔记本电脑?

我的两台笔记本电脑上都运行着 Ubuntu 14.04.1 LTS 64 位,目前它们都连接到同一个家庭 Wi-Fi。

我想通过其中一台计算机连接到另一台计算机,比如通过SSH,我该怎么做?我应该了解两台计算机的哪些凭据以及我应该使用哪个命令?

我的目的不是简单的文件共享,我希望使用 Teamviewer 等以外的其他解决方案,尽管 X-Windows 转发也不错。感谢您在这件事上的帮助。

编辑:当我尝试 SSH 时,出现以下提示:

VesnogXPS:~$ ssh [email protected]
ssh: connect to host 192.168.1.22 port 22: Connection refused

编辑2:上述问题已解决,但现在无法读取所连接计算机上的.bashrc,该文件的权限如下:

-rw-r--r-- 1 ongun ongun 3567 Jan  4 01:06 .bashrc

我收到的错误如下,并且该错误仅在从 A 连接到 B 时出现,而不在从 B 连接到 A 时出现:

[email protected]'s password: 
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-45-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

Last login: Thu Feb 19 18:52:54 2015 from 192.168.1.22
-bash: /home/ongun/.bashrc: Permission denied

有问题的笔记本电脑上的 ~/.profile 的内容是:

# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    "$HOME/.bashrc"
    PATH=/usr/local/texlive/2013/bin/i386-linux:$PATH; export PATH 
    MANPATH=/usr/local/texlive/2013/texmf-dist/doc/man:$MANPATH; export MANPATH         INFOPATH=/usr/local/texlive/2013/texmf-dist/doc/info:$INFOPATH; export INFOPATH
    fi
fi

我发现问题不在于来源,.bashrc我确实在之后改变了线路第二个如果如下: . "$HOME/.bashrc"

现在一切都运行正常,但我还有一个问题,为什么它可以在本地计算机上的终端仿真器上运行,却不能在 SSH 本身上运行?我之所以问这个问题,是因为它们都是交互式登录 shell。

答案1

首先,您需要知道笔记本电脑的 IP 地址(尝试ifconfigip addr show任何其他方法),假设笔记本电脑 A 的 IP 是“192.168.1.4”,笔记本电脑 B 的 IP 是“192.168.1.5”。要从sshA 到 B 或反之亦然,您需要使用以下命令在两台笔记本电脑上安装 ssh 服务器:

sudo apt-get install openssh-server

由于客户端默认自动安装,您现在可以ssh按照以下任一方向操作:

ssh [email protected] ##From B to A
ssh [email protected] ##From A to B

这里的“用户名”是您以之登录的“192.168.1.4/192.168.1.5”中的任何用户。

如果您想要sshX11 转发,请尝试以下操作:

ssh -Y [email protected]
ssh -Y [email protected]

ssh 的手册页获得更多想法。

编辑:正如“Rmano”在评论中所建议的,您可以检查“DHCP 预分配”。看看

回答编辑:我认为您没有openssh-server在 192.168.1.22 上安装,导致错误连接被拒绝。您可以通过以下方式检查 192.168.1.11 的哪些 tcp 端口处于连接监听状态

netstat -tlpn

从 192.168.1.22 然后通过 查找端口 22。netstat -tlpn | grep 22您也可以从 192.168.1.11 检查:

nmap -PN 192.168.1.22

回答第二次编辑:问题在于,您不是通过它~/.profile来获取文件,而是在执行。代码片段应该是:~/.bashrc. $HOME/.bashrc"$HOME/.bashrc"

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

相关内容