您的位置:首页 > 其它

sshd 相关服务配置与使用

2017-01-09 09:34 274 查看
一.ssh 概念

ssh (secure shell)是一个允许两台电脑之间通过安全的连接进行数据交换的网络协议。加密保证了数据的保密性和完整性。SSH采用公钥加密技术来验证远程主机,以及(必要时)允许远程主机验证用户。
二.应用场景
SSH 通常用于远程访问和执行命令,但是它也支持隧道,转发任意 TCP 端口以及 X11 连接;它还能够用 SFTP 或 SCP 协议来传输文件,一个 SSH 服务器,默认地,在 TCP 端口 22 进行监听。一个 SSH 客户端程序通常被用来建立一个远程连接到 sshd 守护进程。这两者都被广泛地存在于现代操作系统中,包括 Mac OS X,GNU/Linux,Solaris 和 OpenVMS 等,一般我们说的通常指OpenSSH,需要用到的安装包类似如下:

openssh-askpass.x86_64 : A passphrase dialog for OpenSSH and X
openssh.x86_64 : An open source implementation of SSH protocol versions 1 and 2
openssh-clients.x86_64 : An open source SSH client applications
openssh-ldap.x86_64 : A LDAP support for open source SSH server daemon
openssh-server.x86_64 : An open source SSH server daemon
三.命令使用
格式:
ssh -p port user@server-address 若默认端口22,且为root用户,可以省略 -p port 和 user@ ;可简写为ssh server_address
四.密钥钥登录

1.用法一:在生产环境中,若访问线上服务器,通常做法是在你的本机使用ssh-keygen 或xshell自带工具等生成秘钥对,将你的pub发给运维人员,由运维人员上传到授权的服务器的.ssh/authorized_keys 文件中,私钥自我保管。
2.用法二:运维人员在批量管理服务器时,需要建立多机互信,批量运行脚本,这是我们不采用传统的方法,这里介绍一个命令:
ssh-copy-id ,其实是一个shell脚本,脚本的大概作用就是当你运行该命令时,会在你需要访问的服务器上自动上传pub文件,并将其改名为authorized_keys,同时,它还是帮你自动创建 ~/.ssh 目录,如果目录不存在的话,这个脚本大概50行,可以去尝试读一下,下面我们具体介绍ssh-copy-id的使用方法:
1.作为线上服务器的话,为安全起见,通常我们不使用默认的22 端口,一般会修改为其他端口,比如2200,格式如下:
ssh-copy-id [-i] "-p 2200 root@server-address"
这里要注意几点:1. 需要使用双引号"" 双引号括起来,否则会报错
2. -i 是可选择选项,如果你使用的是默认配置文件,可不加 -i选项,如果在生成秘钥对时,有指定秘钥 名,那需要加-i选项
2.局域网内使用,一般默认22端口,可使用如下格式:
ssh-copy-id -i root@server-address
3.免密钥登录
实现密钥登录,需要修改配置文件 /etc/ssh/sshd_config ,启用密钥选项,禁止密码登录选项

总结: ssh-copy-id 是一个建立双机互信的脚本,流程如下:
1.在需要建立互信的机器上,首先通过 ssh-keygen -t {rsa|dsa} 创建密钥对
2.使用ssh-copy-id -i ~/.ssh/id_dsa.pub root@server_ipaddress
3.输入密码后,如果没有对方的机器没有authorized_keys 文件,会自动创建,如果存在,会追加公钥内容到此文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ssh