您的位置:首页 > 运维架构

OpenSSH服务及其相关应用

2015-06-25 18:36 381 查看
OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。
OpenSSH是使用SSH透过计算机网络加密通讯的实现。它是取代由SSH Communications Security所提供的商用版本的开放源代码方案。目前OpenSSH是OpenBSD的子计划。
OpenSSH常常被误认以为与OpenSSL有关联,但实际上这两个计划的有不同的目的,不同的发展团队,名称相近只是因为两者有同样的软件发展目标──提供开放源代码的加密通讯软件。
ssh主要有两个版本V1(基本不使用),V2
客户端工具:

linux:ssh
windows:putty,securecrt,sshsecureshellclient,xmanager
服务器端工具:
linux:sshd
认证:

(1)基于口令认证
(2)基于秘钥认证
安装包:rpm -qa | grep ssh



查看ssh版本:ssh -version




相关文件:




配置文件: 客户端:/etc/ssh/ssh_config
服务器端:/etc/ssh/sshd_config秘钥: V2版本的秘钥:
rsa:ssh_host_rsa_key,ssh_host_rsa_key.pub
dsa:ssh_host_dsa_key,ssh_host_dsa_key.pub
V1版本的秘钥:
ssh_host_key,ssh_host_key.pub
服务器配置文件说明:

port 22 端口

AddressFamily any 指定 sshd(8) 应当使用哪种地址族。取值范围是:"any"(默认)、"inet"(仅IPv4)、"inet6"(仅IPv6)。
Protocol 2 默认使用协议版本

KeyRegenerationInterval 1h 秘钥多久更换一次
ServerKeyBits 1024 秘钥长度
LoginGraceTime 2m 登录超时时长
PermitRootLogin yes 是否允许root直接登录(建议关闭,使用普通用户登录后su到root)
MaxAuthTries 6 试错登录次数
PrintLastLog yes 打印上次登录信息(尽量不要暴露这些信息)
Subsystem sftp /usr/libexec/openssh/sftp-server 关于sftp的设置
sftp是基于ssh,ftps基于ssl

ssh使用技巧:
ssh -l 用户名 远程主机名 ['command'] 不登录远程主机,但返回命令执行结果

ssh 用户名@远程主机名

-X:enablex11 forwarding
-Y

~/.ssh/known_hosts保存登录信息,其权限为644

实验:基于秘钥的认证
1、生成一对秘钥(ssh-keygen)
ssh-keygen -t 指定算法 -f 保存文件位置及名称(默认在/home/用户/.ssh/id_rsa) -N 指定密码



2、将公钥传输至服务器端某用户家目录下的.ssh/authorized_keys文件中

(1)使用工具ssh-copy-id
用法:ssh-copy-id–i /path/to/pubkey 用户名@主机名



(2)scp,然后追加到authorized_keys
3、测试登录





总结:
1、密码要经常换
2、使用非默认端口
3、限制登录地址
4、禁止管理员登录
5、仅开放有限用户
6、使用基于秘钥的认证
7、不要使用v1版本

scp和sftp用法:
1、scp:基于ssh的远程复制命令,可以实现在主机之间传输数据

命令格式:scp [options]src dest
远程主机
用户名@主机名:/path/to/somefileoptions常用选项有以下几种:

-r: 递归复制,复制目录时使用
-p:保持源文件的元数据信息;主要是mode和timestamp
-q:静默模式
-P PORT: 指定远程服务器的端口
2、sftp:
sftp [USER@]HOST





小技巧:

如果想基于秘钥连接linux,可以按下图进行操作:
1、

2、



3、



4、



5、



6、



7、cat id_rsa_1024.pub >> .ssh/authorized_keys
8、



仅为个人学习整理,如有错漏,大神勿喷~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 服务器