一、SSH的安装和启动(两台电脑都要进行以下操作)

1.判断电脑是否安装了SSH

dpkg -l | grep ssh

tabby ssh 公钥_服务端

其中openssh-client代表电脑已安装ssh客户端

其中openssh-server代表电脑已安装ssh服务端

2.安装客户端与服务端(建议两台电脑不论是想用来作服务端还是客户端,都安装上即可)

sudo apt-get install openssh-client 
sudo apt-get install openssh-server

3.启动ssh

(1)判断是否启动了ssh

ps -e | grep ssh

tabby ssh 公钥_客户端_02

sshd代表已经启动了ssh-server

(2)若未启动ssh,调用启动指令

sudo /etc/init.d/ssh start

tabby ssh 公钥_服务端_03

(3)停止、重新启动ssh

停止ssh

sudo /etc/init.d/ssh stop

tabby ssh 公钥_服务端_04

重新启动ssh

sudo /etc/init.d/ssh restart

 

tabby ssh 公钥_远程连接_05


至此ssh的安装以及启动你已经掌握,接下来看如何远程连接


二、远程连接(需要密码,无法可视化)

1.客户端服务端解释

两台电脑用户名为A和B,如果A要远程操纵B,则A为客户端B为服务端,反之亦然。

2.远程连接

(1)查询服务端的IP地址

我们需要确定客户端、服务端使用同一个局域网

在服务端使用指令

ifconfig

tabby ssh 公钥_客户端_06

 在客户端使用相同指令

tabby ssh 公钥_linux_07

我们找客户端、服务端前三部分相同的地址,我的是192.168.31.***

因此确定服务端的用户名@id为:qust-mbot@192.168.31.92 

         确定客户端的用户名@id为:rws@192.168.31.8

(2)连接

声明:SSH服务的默认端口是22,如果不设置端口号的话,客户端会连接远程服务端的22端口,如果要修改,可以使用 -p 来修改端口号,比如连接到服务器的8400端口:

ssh -p 8400 qust-mbot@192.168.31.92

接下来使用客户端远程连接服务端

在客户端打开终端输入指令

ssh mbot-qust@192.168.31.92

如果是第一次输入会出现如下

tabby ssh 公钥_tabby ssh 公钥_08

 输入:yes

接下来会让你输入服务端的密码

tabby ssh 公钥_远程连接_09

 输入密码后你的该终端窗口会变成远程服务段的终端窗口,证明连接成功

tabby ssh 公钥_linux_10

(3) 退出连接

ctrl+D

tabby ssh 公钥_客户端_11


至此远程连接已经可以实现,但是我们发现如果要在客户端看服务端显示的窗口,用以上指令是实现不了的,如:我调用服务端的时钟

tabby ssh 公钥_tabby ssh 公钥_12

接下来实现可视化


三、远程连接(需要密码,可视化)

1.在客户端使用指令,用于修改只读文件ssh_config

sudo gedit /etc/ssh/ssh_config

使用指令后会打开一个文本框修改其中内容 

tabby ssh 公钥_linux_13

修改后:

tabby ssh 公钥_linux_14

保存后退出 

2.在服务端使用指令,用于修改只读文件sshd_config

sudo gedit /etc/ssh/sshd_config

使用指令后会打开一个文本框修改其中内容

 

tabby ssh 公钥_linux_15

修改后:

tabby ssh 公钥_远程连接_16

 保存后推出

3.远程连接(用户名跟网址号同上)

在客户端使用指令

ssh -X qust-mbot@192.168.31.92

输入密码后连接成功

tabby ssh 公钥_远程连接_17

 4.测试

我们尝试在客户端使用指令打开服务端桌面上的1.png图片

xdg-open /home/qust-mbot/Desktop/1.png

tabby ssh 公钥_tabby ssh 公钥_18

 我们看到在客户端可以成功打开服务端可视化的东西,表示成功


至此,远程通讯以全部实现,但是我们发现每次连接都需要输入密码很麻烦,接下来实现公钥连接


四、公钥连接

1.生成密钥

在客户端打开一个终端输入以下指令

ssh-keygen -t rsa

连按三次回车

tabby ssh 公钥_tabby ssh 公钥_19

 在/home/rws中会有一个.ssh文件夹,证明生成成功

tabby ssh 公钥_tabby ssh 公钥_20

2.连接服务端

用上述方法连接服务端

ssh -X qust-mbot@192.168.31.92

 3.复制公钥

在客户端的已经连接上服务端的终端窗口,使用以下指令,将公钥从客户端远程复制到服务端

ssh-copy-id qust-mbot@192.168.31.92

 发送成功后服务端的主目录下也会出现一个.ssh文件夹,证明发送成功

4.测试

在客户端新建一个终端,直接使用连接指令,不须要使用密码,直连。 

tabby ssh 公钥_tabby ssh 公钥_21

5.可能出现的问题

公钥已经复制成功,但是在客户端连接服务端时仍需要输入密码。

解决方法:

在服务端打开终端

cd .ssh
chmod 700 ../
chmod 700 .
chmod 600 authorized_keys