ssh 笔记

ssh

SSH
ssh:secure shell , protocol , 22/tcp 安全的远程登录

centos6: ssh 192.168.135.7
或者 指定用户名连接: ssh wang@192.168.135.7

linux 里面远程登录的小汇总: ssh scp telnet sftp slogin
windows 客户端 : xshell putty CRT … (远程登录工具

server (服务器端): sshd

ssh 客户端:
ssh, 配置文件:/etc/ssh/ssh_config
Host PATTERN
StrictHostKeyChecking no 首次登录不显示检查提示
格式:ssh [user@]host [COMMAND]
ssh [-l user] host [COMMAND] // ssh zhang@192.168.135.7 who — 登录进去,执行命令,并返回
-p port:远程服务器监听的端口 // ss -nt // ssh 192.168.135.164 -p 8021
-b:指定连接的源IP
-v:调试模式
-C:压缩方式
-X: 支持x11转发
-Y:支持信任x11转发
ForwardX11Trusted yes
-t: 强制伪tty分配
ssh -t remoteserver1 ssh remoteserver2

默认服务器的端口是22 , 修改端口 ?
vim /etc/ssh/sshd_config
Port 8021
—————————
systemctl reload sshd — 服务器重新生效

centos6: ssh 192.168.135.7 -p 8021 –需要填写端口(因为不是之前的默认端口)

-b:指定连接的源IP ?
添加ip : ip a a 192.168.135.8/24 dev eth0 ip a a 192.168.135.10/24 dev eth0
好了 现在有 3个IP了
cnetos6: ssh 192.168.135.164
centos7: ss -nt — 查看
如果 3个ip 我就指定某个地址 连接centos 7
6: ssh -b 192.168.135.8 192.168.135.164
7: who 查看IP的发起者

-v:调试模式 ?
ssh -v -b 192.168.135.8 192.168.135.164 –查看详细的过程

-X: 支持x11转发? -Y:支持信任x11转发 ?
理论是:如果你ssh 上去 不仅敲命令 还显示图形的话
显示理论: 如果你不在机房 安装oracle 的话 远程 可以图片安装(2.Xstart工具实现)
6: ssh 192.168.135.164 -X

-t: 强制伪tty分配?
如果c机器做了安全策略,只允许B机器连接 ,但是a机器想连接怎么办?
a–b—c
iptables -A INPUT -s 192.168.135.152 -j REJECT // c 上拒绝 a 访问 — iptables -F 清除
a:ssh -t 192.168.135.189 ssh 192.168.135.164 — 跳板机
c: w — 查看
基于DH 算法做密钥交换,基于RSA 或DSA 实现身份认证
ssh_host_rsa_key.pub

* 基于密钥 key 的登录方式 ***
7:cd .ssh –> known_hosts — 放的是 以前 远程访问过的主机 公钥 –> 好处: 下次连接 不需要yes/no
6: cat /etc/ssh/ssh_host_rsa_key.pub — centos6 的公钥

ssh_host_rsa_key 盗取私钥 就可以迷糊主机
service sshd restart — 重启服务
实验 : 6 连接7 的时候 不需密码了,基于key ?
1.ssh-keygen //客户端生产秘钥对 –默认rsa 算法 指定算法的话: ssh – keygen -t dsa
cd .ssh –> 下面生产 公钥和私钥
2.ssh-copy-id -i id_rsa.pub root@192.168.135.164 –> 将6的公钥传输到7 上
3. 测试 ssh root@192.168.135.164 — 不需要密码 ok
总结:A B 主机基于key 连接 A :创建秘钥对 然后发送给B公钥 A 就可以连接B 不需要密码了 , B –> A 需要密码
注意: B 主机 修改root密码 都没用 照样 进去
注: 保护好 A 机器 ( 中军大帐–秘钥对 )
— 假如 A 秘钥被盗取了, 可以连接 B 吗?
scp id_rsa 192.168.135.152:/root 传给 c cd /root/.ssh
测试 c 也不需要密码 连接 b 了 ,–

注意: 假如以后自动化 1000000台主机

问题: 解决 ssh 连接慢的问题 ?
vim /etc/ssh/sshd_config
GSSAPIAuthentication no
UseDNS no
—————————–
6:ssh-copy-id root@192.168.135.152 //6的公钥传给5
ssh root@192.168.135.152 – 不需要密码
问题 :给秘钥加密 ,因为秘钥丢了很危险,基于key ?
6 cd .ssh/ –> ssh-keygen -p // 输入口令 centos
[root@centos6 ~/.ssh]#cat id_rsa — 查看 秘钥已经加密
–> 测试 ssh root@192.168.135.152 需要私钥的密码 ? 麻烦

需要私钥的密码 ? 麻烦
理论: 口令提交代理 ,我ssh的时候,代理自动提交口令
[root@centos6 ~/.ssh]#ssh- // 按tab 键
ssh-add ssh-agent ssh-copy-id ssh-keygen ssh-keyscan
ssh-agent bash // 代理程序的启动
ssh-add //把私钥托管给代理 . (效果:不要输入公钥的口令了)
注意: 每次退出需要跑一次代理 .

以上是linux 设置 远程服务器 :
下面是 windows — xshell CRT 中远程连接服务器

问题:平时在生产中 不是linux ssh 而是在windows 上的远程工具ssh 服务器 crt xshell?
xshell 配置基于key验证?
工具–> 新建用户密钥生产向导–> 下一步 .. 导出id_rsa_1024
你想连接谁,传给他 :基于key 认证就靠它了 id_rsa_1024.pub
rz
cat id_rsa_1024.pub >> .ssh/authorized_keys — 追加进去
连接的时候 : 用户身份验证 –> 方法: public key 用户名: root 用户密钥选择
OK
CRT 配置基于key验证?
tools –> create public key .. Identity.pub –> 格式不对,需要转换
// touch .ssh/authorized_keys
//ssh-keygen -i -f Identity.pub –转换
//ssh-keygen -i -f Identity.pub > .ssh/authorized_keys
ssh-keygen -i -f Identity.pub >> .ssh/authorized_keys // 转换直接 追加到文件

—-
自动化 创建 基于key 100? 1000? 100000?
#!/bin/bash
rpm -q expect &> /dev/null ||yum -y -q install expect
ssh -keygen -P ” -f ~/.ssh/is_rsa &> /dev/null
while read ip password;do
user=root
expect << EOF
set timeout 10
spawn ssh root@192.168.135.152
expect {
“yes/no” {send “yes\n”;exp_continue }
“password” {send “$password\n”}
}
expect eof
EOF
done < hosts.txt

作业: 1. 创建CA ,申请证书 2.基于key验证

———————————————————-

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90966

(0)
百涧溪百涧溪
上一篇 2018-01-08 17:18
下一篇 2018-01-08 21:42

相关推荐

  • 用NFS搭建wordpress让两台httpd服务同时服务

    一、博客实践作业: (1) nfs server导出/data/application/web,在目录中提供wordpress;  (2) nfs client挂载nfs server导出的文件系统至/var/www/html; (3) 客户端(lamp)部署wordpress,并让其正常访问;要确保能正常发文章,上传图片; (4) 客户端2(la…

    2017-06-07
  • shell脚本编程基础(1)

    一.位置变量相关知识     1.位置变量定义:在脚本代码中调用通过命令行传递给脚本的的参数     2.位置变量种类:              &…

    Linux干货 2016-08-15
  • SQL Server 2012 故障转移群集最佳实践

    一、Windows server  2012 系统主域的安装配置 功能介绍:  SQL Server 故障转移群集在网络上显示为一台计算机上的单个 SQL Server 实例。在群集内部,一次只有一个节点拥有群集资源组,满足针对该故障转移群集实例的所有客户端请求。在出现故障(硬件故障、操作系统故障、应用程序或服务故障)或进行计划升级时,组…

    Linux干货 2015-10-27
  • DHCP简单阐述及配置实现方法

    DHCP是什么…… DHCP是Dynamic Host Configuration Protocol的缩写,它是TCP/IP协议簇中的一种,主要是用来给网络客户机分配动态的IP地址。 其主要功能是: 用于内部网络或网络服务供应商自动分配IP地址给用户 用于内部网络管理员作为对所有电脑作中央管理的手段 直接点就是,这些被…

    Linux干货 2016-12-05
  • 无插件Vim编程技巧

    相信大家看过《简明Vim教程》也玩了《Vim大冒险》的游戏了,相信大家对Vim都有一个好的入门了。我在这里把我日常用Vim编程的一些技巧列出来给大家看看,希望对大家有用,另外,也是一个抛砖引玉的过程,也希望大家把你们的技巧跟贴一下,我会更新到这篇文章中。另外,这篇文章里的这些技巧全都是vim原生态的,不需要你安装什么插件。我的Vim的版本是7.2。 浏览代码…

    Linux干货 2015-04-01
  • CentOS 7 忘记root密码的解决之道

    1、启动时任意键暂停启动,会出现如下界面: 2、按e键进入编辑模式,将光标移动linux16开始的行,添加内核参数 rd.break 3、按 ctrl+x 组合键启动 4、查看各分区和文件系统的挂载情况,需要将 / 的模式改为 rw 5、当前系统上的 / 是在光盘上的,切换至挂载目录下的 / ,才可以修改密码 6、在 / 目录下创建autorela…

    Linux干货 2016-09-26