赞
踩
dpkg -l | grep ssh
其中openssh-client代表电脑已安装ssh客户端
其中openssh-server代表电脑已安装ssh服务端
- sudo apt-get install openssh-client
- sudo apt-get install openssh-server
ps -e | grep ssh
其中sshd代表已经启动了ssh-server
sudo /etc/init.d/ssh start
停止ssh
sudo /etc/init.d/ssh stop
重新启动ssh
sudo /etc/init.d/ssh restart
至此ssh的安装以及启动你已经掌握,接下来看如何远程连接
两台电脑用户名为A和B,如果A要远程操纵B,则A为客户端B为服务端,反之亦然。
我们需要确定客户端、服务端使用同一个局域网
在服务端使用指令
ifconfig
在客户端使用相同指令
我们找客户端、服务端前三部分相同的地址,我的是192.168.31.***
因此确定服务端的用户名@id为:qust-mbot@192.168.31.92
确定客户端的用户名@id为:rws@192.168.31.8
声明:SSH服务的默认端口是22,如果不设置端口号的话,客户端会连接远程服务端的22端口,如果要修改,可以使用 -p 来修改端口号,比如连接到服务器的8400端口:
ssh -p 8400 qust-mbot@192.168.31.92
接下来使用客户端远程连接服务端
在客户端打开终端输入指令
ssh mbot-qust@192.168.31.92
如果是第一次输入会出现如下
输入:yes
接下来会让你输入服务端的密码
输入密码后你的该终端窗口会变成远程服务段的终端窗口,证明连接成功
ctrl+D
至此远程连接已经可以实现,但是我们发现如果要在客户端看服务端显示的窗口,用以上指令是实现不了的,如:我调用服务端的时钟
接下来实现可视化
sudo gedit /etc/ssh/ssh_config
使用指令后会打开一个文本框修改其中内容
修改后:
保存后退出
sudo gedit /etc/ssh/sshd_config
使用指令后会打开一个文本框修改其中内容
修改后:
保存后推出
在客户端使用指令
ssh -X qust-mbot@192.168.31.92
输入密码后连接成功
我们尝试在客户端使用指令打开服务端桌面上的1.png图片
xdg-open /home/qust-mbot/Desktop/1.png
我们看到在客户端可以成功打开服务端可视化的东西,表示成功
至此,远程通讯以全部实现,但是我们发现每次连接都需要输入密码很麻烦,接下来实现公钥连接
在客户端打开一个终端输入以下指令
ssh-keygen -t rsa
连按三次回车
在/home/rws中会有一个.ssh文件夹,证明生成成功
用上述方法连接服务端
ssh -X qust-mbot@192.168.31.92
在客户端的已经连接上服务端的终端窗口,使用以下指令,将公钥从客户端远程复制到服务端
ssh-copy-id qust-mbot@192.168.31.92
发送成功后服务端的主目录下也会出现一个.ssh文件夹,证明发送成功
在客户端新建一个终端,直接使用连接指令,不须要使用密码,直连。
公钥已经复制成功,但是在客户端连接服务端时仍需要输入密码。
解决方法:
在服务端打开终端
- cd .ssh
- chmod 700 ../
- chmod 700 .
- chmod 600 authorized_keys
SSH应用的讲述结束
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。