Linux课程实践一:Linux基础实践(SSH)
一、SSH服务
1. 安装SSH
(1)查看是否已经安装过ssh服务
rpm -qa |grep ssh
(2)进行安装
sudo apt-get install openssh-server
Ubuntu缺省安装了openssh-client,如果没有输入:
sudo apt-get install openssh-client
2. 运行SSH服务
(1)开启SSH
/etc/init.d/ssh start

(2)验证启动成功
ps -e | grep sshd

(3)查看ssh服务状态
service ssh status

3. 理解配置文件
ssh-server配置文件位于/etc/ssh/sshd_config
Port 22:SSH默认服务端口为22KeyRegenerationInterval 3600:服务器密钥一小时重新生成一次ServerKeyBits 1024:服务器密钥长度1024LogingGraceTime 120:限定用户必须在120秒内成功进行认证。PermitRootLogin yes:允许超级管理员远程登录PasswordAuthentication yes:支持密码认证- 可以使用RSA公钥认证的方式登录Linux:
RSAAuthentication yesPubkeyAuthentication yes
AllowTcpForwarding yes:开启端口转发X11Forwarding yes:开启X11转发
4. 远程接入测试
在主机或其他终端中使用ssh服务。实践中使用windows中的putty软件接入。

输入用户名和密码接入虚拟机:

二、身份验证
1. 使用用户名密码实现身份认证
输入用户名和密码接入虚拟机:

2. 使用证书实现身份认证
(1)生成密钥对
运行puttygen.exe 选择Generate生成密钥对(生成过程中需要在当前程序活动窗口中滑动鼠标以生成随机密钥)。
生成密钥对如下图所示。

点击save private 将私钥.ppk 文件保存到本地。并复制公钥内容。
(2)将公钥发送到虚拟机
- 使用PUTTY连接主机,获得root权限。
vim ~/.ssh/authorized_keys:打开要修改的文件将公钥内容粘贴进去,保存并退出。
(3)修改配置文件
vim /etc/ssh/sshd_ config
修改部分(一般情况下不需要更改):
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
保存退出,断开连接。
(4)使用私钥连接
再次使用PUTTY进行连接时,选择“连接”->“SSH”->“认证”,选择保存在本地的私钥文件。

在“连接”->“数据”中输入自动登录的用户名

公钥认证连接成功

三、文件传输和程序运行
1. 使用WinSCP客户端连接并进行文件传输
输入Linux的ip地址、用户名和密码,SSH服务默认端口号为22:

Login之后会提示是否缓存密钥:

登录成功后就可以进行文件传输:

2. 用Windows中的PUTTY运行XWindows程序
开启Xming 程序,在PUTTY中勾选允许X11映射:
以root账号登陆,编辑SSH服务器的配置文件/etc/ssh/sshd_config
开启TCP转发和X11转发:
AllowTcpForwarding yes
X11Forwarding yes
如果登陆用户名与存放公钥的文件夹的拥有者不同,则需要更改:
StrictModes no
- StrictModes yes必须保证存放公钥的文件夹的拥有与登陆用户名是相同的。
如果机器禁止ROOT远程登录,还需要更改:
PermitRootLogin yes
在桌面上打开Xming 的快捷方式,在目标的命令行中加上-ac 的参数:

打开PUTTY,在终端登陆Linux。将输出映射到本机:
export DISPLAY = 本机IP:0.0
- 0.0 表示Xming 的display number为0,如果display number设置成其他值则需保持一致
在PUTTY中输入命令即可打开相应的程序

参考资料
参考资料1:rpm常用命令及rpm参数介绍
参考资料2:ssh 配置讲解大全
参考资料3:Linux基础实践
Linux课程实践一:Linux基础实践(SSH)的更多相关文章
- Linux课程---3、Linux远程登录和传输(操作Linux服务器软件)
Linux课程---3.Linux远程登录和传输(操作Linux服务器软件) 一.总结 一句话总结: xshell:Xshell是一个强大的安全终端模拟软件 Xshell是一个强大的安全终端模拟软件, ...
- 尚学linux课程---4、linux网络配置及linux文件
尚学linux课程---4.linux网络配置及linux文件 一.总结 一句话总结: linux下的etc目录是配置文件的目录,所以很多的文件配置操作都可以看到它的身影:比如 init系列命名,比如 ...
- Linux课程---11、Linux中软件安装和调试
Linux课程---11.Linux中软件安装和调试 一.总结 一句话总结: 启动过程:1.安装软件,2.修改配置文件,3.启动服务 查看过程:4.查看进程,5.查看端口 关闭过程:6.关闭软件,7. ...
- Linux课程---8、Linux启动流程
Linux课程---8.Linux启动流程 一.总结 一句话总结: grub启动引导界面(比如装了多系统,选择系统),找到linux内核 启动init程序,加载各种驱动 1.进入grub界面选择相应的 ...
- Linux课程---4、Linux目录结构及常用命令(目录结构)
Linux课程---4.Linux目录结构及常用命令(目录结构) 一.总结 一句话总结: 家目录:./root:root用户的家目录 能执行的程序:./bin:所有用户都能执行的程序:./sbin:只 ...
- Linux课程---2、Linux下最常用命令(查看帮助命令)
Linux课程---2.Linux下最常用命令(查看帮助命令) 一.总结 一句话总结: man 1.显示文件? ls:ls带其它参数详情可以man ls man ls:比如 ls -a显示隐藏文件,l ...
- 尚学linux课程---10、linux环境下安装python
尚学linux课程---10.linux环境下安装python 一.总结 一句话总结: 直接在官网下载python的源码包即可,然后在linux下安装 linux下安装软件优先想到的的确是yum,但是 ...
- 尚学linux课程---7、linux系统管理命令
尚学linux课程---7.linux系统管理命令 一.总结 一句话总结: 查网络:netstat -ntpl 查进程:ps 1.需要下载163yum源(从外部源同步仓库)里面的所有rpm文件? re ...
- 尚学linux课程---6、linux命令介绍
尚学linux课程---6.linux命令介绍 一.总结 一句话总结: linux中命令的一般格式:命令关键字 选项 参数1 参数2 1.linux基本原则? 一切皆文件 配置文件保存为纯文本格式 2 ...
- 尚学linux课程---5、linux操作系统介绍
尚学linux课程---5.linux操作系统介绍 一.总结 一句话总结: centos开源免费,用的特别多 1.库是什么意思? 没有执行入口的应用程序 2.linux和window下的动态库文件是什 ...
随机推荐
- 实体写到redis写不进去--误把类当成实体类
之前一直都把实体写入redis都没有问题,今天再次这样干,结果却是怎么写都写不进去,redis里的值老是为空 最后才发现把类当成了实体类,当然写不进去了. 把类: /// <summary> ...
- 基于JS功能强大的日期插件Kalendae
开发中需要一个日期插件,可以在zepto下使用,可以选择日期段,可以设置不可选日期 找到一个完全满足的,并且基于JS不依赖于任何库. 在线演示:http://chipersoft.com/Kalend ...
- QT不同版本编译
QT发布了不同版本,有一些语法修改,需要修改代码.同时旧版本代码转换需要在pro文件中添加代码greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
- python IDLE编程时遇到Python Error: Inconsistent indentation detected! 解决方法
仔细检查了几遍代码,发现indent没有错误! 之后试将所有indent都用空格代替,程序就跑起来了. 具体原因可能是IDLE环境内的Tab键有小bug.
- JAVA 多线程和并发学习笔记(四)
1. 多进程 实现并发最直接的方式是在操作系统级别使用进程,进程是运行在它自己的地址空间内的自包容的程序.多任务操作系统可以通过周期性地将CPU从一个进程切换到另一个进程,来实现同时运行多个进程. 尽 ...
- Mongodb故障转移
测试环境 四台测试服务器10.151.151.150:27017(主节点),10.151.151.151:27017(从节点),10.151.151.152:27018(从节点),10.151.151 ...
- CSS鼠标悬停图片加边框效果,不位移的方法
<!DOCTYPE HTML> <html lang="en-US"> <head> <title>css实现鼠标悬停时图片加边框效 ...
- 在C#中如何将多个rtf文件内容组合在一起用一个rtf文件保存?
//重点为是使用 SelectedRtf 属性 private void button1_Click( object sender, EventArgs e ) { //mergeRTF为并内容后的 ...
- ue4标签测试与总结(UPROPERTY)
学习UE4框架中的标签,本篇是总结成员变量标签UPROPERTY. 引擎版本:4.12.5 前期准备: 1.新建项目,C++空模板,新建C++类,继承AActor,名称MyActor. 使用TestA ...
- Java三大框架的配置
1. 首先是spring,右键项目-myeclipse-capabilitise-install spring etc.类似的就好,生成applicationContext.xml和spring一些类 ...