Linux中ssh介绍与ssh+key密钥登陆部署
[root@zabbix- ~]# uname -a
Linux zabbix- 2.6.-.el6.x86_64 # SMP Tue Mar :: UTC x86_64 x86_64 x86_64 GNU/Linux
ssh服务介绍
SSH是Secure Shell Protocol的简写
SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输。确保了传递的数据安全
SSH服务主要提供两个服务功能
一是提供类似telnet远程联机服务器的服务,即SSH服务;
另一个是类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供更安全的SFTP服务(vsftp,proftp)。
ssh服务的所在软件包:openssh-clients、openssh-server
[root@nfs01 ~]# rpm -ql openssh-server
/etc/rc.d/init.d/sshd #ssh服务启动脚本文件
/etc/ssh/sshd_config #ssh服务配置文件
/etc/sysconfig/sshd #ssh服务创建密钥有关
/usr/sbin/.sshd.hmac #ssh服务加密算法有关文件
/usr/sbin/sshd #ssh服务进程启动命令
openssh-server包内容介绍
[root@nfs01 ~]# rpm -ql openssh-clients
/etc/ssh/ssh_config --- ssh服务客户端配置文件
/usr/bin/.ssh.hmac
/usr/bin/scp --- ssh服务远程传输复制命令scp
/usr/bin/sftp --- ssh服务远程传输文件服务
/usr/bin/slogin --- ssh服务远程登陆命令
/usr/bin/ssh --- ssh服务远程登陆命令
/usr/bin/ssh-add
/usr/bin/ssh-agent
/usr/bin/ssh-copy-id --- ssh服务远程分发公钥命令
/usr/bin/ssh-keyscan
openssh-clients包内容介绍
ssh远程登陆方式
[e:\~]$ ssh 10.0.0.31 #端口号不能改才能这样 Connecting to 10.0.0.31:...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'. Last login: Tue Oct :: from 10.0.0.253
[root@nfs01 ~]#
ssh连接方式
ssh服务认证过程与基于密钥认证过程

ssh服务基于密钥认证过程
ssh服务优化
ssh配置文件默认登陆参数修改
修改SSH服务的运行参数,是通过修改配置文件/etc/ssh/sshd_ config实现的。
一般来说SSH服务使用默认的配置已经能够很好的工作了,如果对安全要求不高,仅仅提供 SSH服务的情况,可以不需要修改任何配置。
SSH配置文件相关参数说明
|
命令参教 |
参数说明 |
|
Port |
指定sshd进程监听的端口号,默认为22。可以使用多条指令监听多个端口。默认将在本机的所有网络接口上监听,但是可以通过 ListenAddress指定只在某个特定的接口上监听。 |
|
PermitEmptyPasswords |
是否允许密码为空的用户远程登录。默认为"no"。 |
|
PermitRootLogin |
是否允许root登录。可用值如下:" yes"(默认)表示允许。"no”表示禁止。 "without-password"表示禁止使用密码认证登录。" forced- commands-only"表示只有在指定了command选项的情况下才允许使用公钥认证登录。同时其它认证方法全部被禁止。这个值常用于做远程备份之类的事情。 1. 多开一个窗口 2. 临时多部署一条连接方式 3. 给普通用户 sudo权限 |
|
UseDNS |
指定sshd是否应该对远程主机名进行反向解析,以检查此主机名是否与其IP地址真实对应。默认值为" yes"。 |
|
ListenAddress |
指定监听并提供服务相应的网卡地址信息 |
[root@centos ~]#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori
##—>更改配置前进行备份,是系统管理员的一个良好的习惯。
[root@centos ~]#vi /etc/ssh/sshd_config #—>编辑 sshd_config
Port #—>ssh连接默认端口为22,这淮都知道。因此,为提高安全级別,建议改掉它。
PermitRootLogin no #—>root超级用户黑客都知道,建议禁止它远程登陆能力。
PermitEmptyPasswords no #—>禁止空密码登陆
UseDNS no #—>不使用DNS
GSSA PI Authentication no #->认证的
#Port --- 表示修改ssh服务默认端口号
#AddressFamily any --- 指定监听ipv4地址,或是ipv6地址,或者所有都监听
#ListenAddress 0.0.0.0 --- 监听地址只能监听本地网卡上配置的地址,监听的网卡可以对请求做出相应
ssh服务秘钥登录配置
基于口令认证方式
[root@nfs01 ~]# ssh -p4188 10.0.0.41
root@10.0.0.41's password:
Last login: Wed Oct 18 12:07:34 2017 from 10.0.0.31
[root@backup ~]#
基于密钥认证方式
第一步、创建密钥对
[root@backup ~]# ssh-keygen -t rsa ### -t 指定以什么加密方式这里使用的rsa方式
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
8b:bd:a3::5d::e4:ea:0f:3a:d1::7a::f1: root@backup
The key's randomart image is:
+--[ RSA ]----+
| ..E |
| .o ... |
| oo.. . |
| +... . |
| o.+. . S |
|o.+ . o . |
| oo.. . o |
|.. o . .. |
|.. . .... |
+-----------------+
[root@backup ~]# ll ~/.ssh/
total
-rw------- root root Oct : id_rsa
-rw-r--r-- root root Oct : id_rsa.pub
-rw-r--r-- root root Oct : known_hosts
创建密钥对
第二步、将公钥分发给存储服务器
[root@backup ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.0.31 ##-i指定公钥路径
root@10.0.0.31's password:
Now try logging into the machine, with "ssh '10.0.0.31'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.
第三步、登陆测试
[root@backup ssh]# ssh 10.0.0.31
Last login: Wed Oct :: from 172.16.1.41
[root@nfs01 ~]#
Linux中ssh介绍与ssh+key密钥登陆部署的更多相关文章
- 在Xshell中上传下载文件到本地(linux中从多次ssh登录的dbserver里面的文件夹)
在Xshell中上传下载文件到本地(linux中从多次ssh登录的dbserver里面的文件夹) 1 列出所有需要copy的sh文件 -bash-4.1$ ll /mysqllog/osw/*.sh ...
- 解决linux中使用git,ssh每次都要输入密码
在linux中使用git,去提交或者下载代码都是很方便的,但是最近新配置了一套系统,发现每次git pull或者其他动作都需要输入密码. 想一想不对劲啊,我使用的是ssh的方式clone的代码,而且在 ...
- Linux 中的rsh,ssh
第一部分 rsh 的安装与配置 http://www.ttlsa.com/linux/configure-rsh-rcp-scp-on-centos/ http://www.ahlinux.com/s ...
- linux中日志介绍
linux日志 linux日志大多是以明文存储,一般存储在/var/log目录中,linux系统中主要有三个日志子系统:连接时间日志,进程统计日志,错误日志. 连接时间日志 连接时间日志是有多个程序执 ...
- AIX 与Linux 中crontab 介绍
AIX 与Linux 中crontab 用法相似,先介绍Linux 中的Crontab 用法,再后介绍AIX 与Linux 的不同之处. 一.Crontab 介绍 crontab命令的功能是在一定 ...
- Linux中什么是动态网站环境及如何部署
当谈论起网站时,我们可能听说过静态和动态这两个词,但却不知道它们的含义,或者从字面意思了解一些却不知道它们的区别. 这一切可以追溯到网站和网络应用程序,Web应用程序是一个网站,但很多网站不是Web应 ...
- 『学了就忘』Linux日志管理 — 90、Linux中日志介绍
目录 1.日志相关服务 2.系统中常见的日志文件 1.日志相关服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.RedHat认为syslogd已经不能满足在工 ...
- linux中LVM介绍及实验过程
LVM LVM这个词不仅一次出现过,在安装Centos时,磁盘分区时,默认分区就是使用LVM方式分区:再一个就是在OpenStack部署时候用到LVM作为后端存储.对LVM的理解还是不太清晰,查询资料 ...
- Linux SSH 使用密钥登陆
Linux SSH 使用密钥登陆 通常我们登录 Linux 服务器,我们需要使用密码进行登录,但是密码存在被暴力破解的可能. 可以将默认服务端口 22 改成其他不常用的端口. 可以设置非常复杂的密码. ...
随机推荐
- C#sealed和final
sealed用于类时,该类被称为密封类,密封类不能被继承: C#提出了密封方法(sealed method) 的概念,以防止在方法所在类的派生类中对该方法的重载.对方法可以使用sealed 修饰符,这 ...
- python运算符优先级
下面这个表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合).这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上部的运算符. ...
- python基本数据类型之字符串(二)
python基本数据类型之字符串(二) 替换方法 python中字符串的替换方法主要有:center.rjust\ljust.expandtabs.format\format_map(格式化).str ...
- 2017-2018-1 20155205 嵌入式C语言——时钟
2017-2018-1 20155205 嵌入式C语言--时钟 题目要求 基础知识 插入位(以分钟为例) 提取位(以分钟为例) 在提取分钟时,运用到了位运算,位运算有以下规律: &0 --&g ...
- _ZNote_Objective-C_用终端编译OC程序
某些情况下,仅仅想写一些简单的代码,可以不用Xcode,仅仅使用终端即可编译OC程序. 打开终端. 输入vi test.m 输入一下代码: #import <Foundation/Foundat ...
- 高性能mysql-锁的调试
锁的调试分为俩部分,一是服务器级别的锁的调试.二是存储引擎级别的锁的调试 对于服务器级别的锁的调试: 服务器级别的锁的类型有表锁,全局锁,命名锁,字符锁 调试命令: Show processlist ...
- ssh整合详解
http://www.cnblogs.com/tuhooo/p/6491906.html
- Swift5 语言指南(十) 枚举
一个枚举定义了一个通用型的一组相关的值,使你在你的代码中的一个类型安全的方式这些值来工作. 如果您熟悉C,您将知道C枚举将相关名称分配给一组整数值.Swift中的枚举更灵活,并且不必为枚举的每个案例提 ...
- 转载 Python 正则表达式入门(中级篇)
Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...
- iOS-常用的两个弹簧动画pop
POPSpringAnimation *popAna = [POPSpringAnimation animationWithPropertyNamed:kPOPLayerPosition]; popA ...