参考: https://www.cnblogs.com/ftl1012/p/ssh.html
SSH知识小结
1.SSH是安全的加密协议,用于远程连接Linux服务器
2.SSH的默认端口是22,安全协议版本是SSH2
3.SSH服务器端主要包含2个服务功能SSH连接和SFTP服务器
4.SSH客户端包含ssh连接命令和远程拷贝scp命令等
SSH的一些功能
# 查看ssh的秘钥目录
ll
/root/
.
ssh
/known_hosts
# 当前用户家目录的.ssh目录下
# ssh的配置文件
cat
/etc/ssh/sshd_config
# ssh远程登录
ssh
192.168.1.100
# 默认利用当前宿主用户的用户名登录
ssh
omd@192.168.1.100
# 利用远程机的用户登录
ssh
omd@192.168.1.100 -o stricthostkeychecking=no
# 首次登陆免输yes登录
ssh
omd@192.168.1.100
"ls /home/omd"
# 当前服务器A远程登录服务器B后执行某个命令
ssh
omd@192.168.1.100 -t
"sh /home/omd/ftl.sh"
# 当前服务器A远程登录服务器B后执行某个脚本
#ssh
自带的
sftp
功能
1.Window和Linux的传输工具
wincp filezip
sftp
-->基于
ssh
的安全加密传输
samba
2.
sftp
客户端连接
sftp
-oPort=22 root@192.168.25.137 或者直接 sftp name@id
put
/etc/hosts
/tmp
#如果不给路径的话默认是put到现在所在目录
get
/etc/hosts
/home/omd
#如果不给路径的话默认是get到现在所在路径
3.
sftp
小结:
1.linux下使用命令:
sftp
-oPort=22 root@x.x.x.x
2.put加客户端本地路径上传
3.get下载服务器端内容到本地
SSH免密设置
1、在本地机器上执行
$
ssh-keygen -t dsa
一路回车之后在家目录的.ssh文件夹下生成
id_dsa -->私钥(钥匙)
id_dsa.pub -->公钥(锁)
2、拷贝公钥给目标服务器
ssh-copy-id -i id_dsa.pub maoruichao@218.199.68.137
将会在目标服务器的.ssh文件夹下生成authorized_keys文件,文件中的内容与本地机器的公钥
文件id_dsa.pub一致。
3、免密码登录目标服务器
ssh maoruichao@218.199.68.137
4、总结钥匙和锁的关系
1.多个钥匙开一把锁
把id_dsa.pub 复制给各个服务器
2.一个钥匙开多把锁
把id_dsa 传给各个服务器
把id_dsa 传给自己
ssh密钥对,公钥在服务器端,私钥在客户端
SSH跳过HostKeyChecking,不用输入yes
SSH跳过输入ssh跳过RSA key fingerprint输入yes/no
在配置大量的节点之间需要ssh连通的时候,如果自动复制很多节点,都需要输入yes,两两节点之间都要互通一次,这样会造成很大的麻烦
解决1:修改配置文件/etc/ssh/ssh_config
找 到 # StrictHostKeyChecking ask
修改为:StrictHostKeyChecking
no
解决2: 添加参数 –o 【o=option】
ssh root@192.168.25.133 -o
"StrictHostKeyChecking no"