码迷,mamicode.com
首页 > 其他好文 > 详细

Openssh学习笔记

时间:2015-09-30 01:13:18      阅读:451      评论:0      收藏:0      [点我收藏+]

标签:openssh

ssh: secure shell安全的shell,一种协议,监听tcp的22端口,安全的远程登录   (telnet 23端口,tcp)


Openssh:ssh协议的开源实现

       服务器                  主机

            《-----------------

               主机请求服务

             ------------------》

       服务器使用自己的私钥加密一段数据

       主机使用服务器的公钥解密


自加:

安装telnet   命令: ~]# yum install telnet-server

查看安装的包      ~]# yum list all telnet*           发现安装了两个包,telnet.x86_64telnet-server.x86_64

~]# chkconfig telnet on

~]# service xinetd restart

~]# ss -tnl       发现23号端口,已经起来了。

                                

SSH协议版本:

v1 :基于CRC-32做MAC,不安全,易受中间人攻击

v2:双方主机协议选择安全的MAC方式,基于DH算法做秘钥交换,基于RSA或DSA算法实现身份认证。

 

两种方式的用户登录认证:v1 基于password   v2 基于 key


OpenSSH

客户端组件

ssh,配置文件:/etc/ssh/ssh_config

           格式: ssh [user@]host [command]

    ssh [-l user host [command]

-p prot :设置远程服务器监听的端口,尽量不要使用22号端口

-X :支持X11转发

-Y:支持信任的X11转发

Host PATTERN

 

基于秘钥的认证:

1.在客户端生成秘钥对

ssh -t rsa [-P ‘‘] [-f "~/.ssh/id_rsa"]   注释: -p 后面加上密码,-f指定秘钥保存目录

2.把公钥传输到远程服务器对应用户的家目录

ssh-copy-id [-i [identity_file]] [user@]machine

3.测试

 

自加:以基于秘钥的认证,将centos6MaGeCentos),192.168.1.103登陆到centos7192.168.1.104

1..103主机的/root/.ssh目录下生产一对秘钥

~]# ssh-keygen -t rsa

Enter file in which to save the key (/root/.ssh/id_rsa):    默认把秘钥保存在/root/.ssh/id_rsa中,我直接选择默认,按下回车键

Enter passphrase (empty for no passphrase):     是否加密,我直接按下回车键,选择不加密

    此时,~]# ls .ssh/   会显示多出了两个文件,id_rsa  id_rsa.pub

2.把公钥传输到远程服务器对应用户的家目录

~]# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.104

3.测试

ssh root@192.168.1.104   以后就不用输入密码了

问题:

Address 192.168.1.104 maps to bogon, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!

Now try logging into the machine, with "ssh ‘root@192.168.1.104‘", and check in:

 

  .ssh/authorized_keys

 

to make sure we haven‘t added extra keys that you weren‘t expecting.

 

哈哈,以经找到解决方法,vim /etc/ssh/ssh_config   GSSAPIAuthentication  值设为 no,即可解决此问题


scp命令(跨主机的文件复制命令)

scp [option] SRC... DEST/

两种情况:

PULL:scp [option] [user@]host:/PATH/FROM/SOMEFILE /PATH/TO/SOMEFILE

PUSH: scp [option] /PATH/FROM/SOMEFILE [user@]host:/PATH/TO/SOMEFILE

选项:-r 递归复制用于复制目录

-p 保持原文件的属性信息

-q 静默模式

-P PORT :指明remote host监听的端口

 

自加:

PULL 机制演示:     ~]# scp root@192.168.1.104:/etc/fstab /tmp/fstab.txt    192.168.1.104下的/etc/fstab复制到192.168.1.103/tmp/fstab.txt文件中

                                  fstab                                                                100%  501     0.5KB/s   00:00

PUSH机制演示:     ~]# scp /etc/fstab root@192.168.1.104:/tmp/  192.168.1.103/etc/fstab复制到192.168.1.104下的/tmp目录下


sftp :

sftp [user@]host

sftp> help

       自加:

~]# sftp root@192.168.1.104

 

 

服务器端组件:ssh 配置文件:/etc/ssh/sshd_config

 

常用参数:

Port 22022

ListenAddress

PermitRootLogin 后面建议改为NO

UseDNS 改为no

 

限制可登陆用户的办法: 白名单

AllowUsers user1 user2

AllowGroups 

 

自加:当修改配置文件后,例如修改监听端口为22022后,要重启服务,systemctl restart  sshd.service  (centos7)

Centos7SElinux可能开启,使用~]# getenforce  查看是否开启,如果为Enforcing则表示开启;使用~]# setenforce 0  将其关闭。

/etc/ssh/sshd_config  UseDNS yes这一项是是否进行DNS反解要改为no


Openssh学习笔记

标签:openssh

原文地址:http://zhoushuyu.blog.51cto.com/7125424/1699290

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!