shell命令--ssh

摘要:
Shell命令--ssh0,ssh命令的独占图床单击此处快速打开文章[图床_Shell命令ssh]1。ssh命令的功能说明ssh命令是一种安全加密协议。Openssh(提供ssh服务)openssl(提供加密程序)ssh客户端可以使用XSHELL、Mobixterm和其他工具连接到ssh的工作机制。当服务器启动时,它生成一个密钥(768bit公钥),本地ssh客户端向ssh服务器发送连接请求。
shell命令--ssh

0、ssh命令的专属图床

点此快速打开文章图床_shell命令ssh

1、ssh命令的功能说明

ssh 命令是安全的加密协议,用于远程连接 Linux 服务器,默认端口是22

SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。

ssh服务端由2部分组成: openssh(提供ssh服务) openssl(提供加密的程序)

ssh的客户端可以用 XSHELLSecurecrt, Mobaxterm等工具进行连接

SSH的工作机制

​ 服务器启动的时候自己产生一个密钥(768bit公钥),本地的ssh客户端发送连接请求到ssh服务器,服务器检查连接点客户端发送的数据和IP地址,确认合法后发送密钥(768bits)给客户端,此时客户端将本地私钥(256bit)和服务器的公钥(768bit)结合成密钥对key(1024bit),发回给服务器端,建立连接通过key-pair数据传输。

SSH的加密技术

加密技术:传输过程,数据加密。
1.SSH1没有对客户端的秘钥进行校验,很容易被植入恶意代码
2.SSH2增加了一个确认联机正确性的Diffe_Hellman机制,每次数据的传输,Server都会检查数据来源的正确性,避免黑客入侵。
SSH2支持RSA和DSA密钥
DSA:digital signature Algorithm 数字签名
RSA:既可以数字签名又可以加密

SSH知识小结

1.SSH是安全的加密协议,用于远程连接Linux服务器

2.SSH的默认端口是22,安全协议版本是SSH2

3.SSH服务器端主要包含2个服务功能SSH连接和SFTP服务器

4.SSH客户端包含ssh连接命令和远程拷贝scp命令等

如何防止SSH登录入侵

1.密钥登录,更改端口

2.牤牛阵法

3.监听本地内网IP(ListenAddress 192.168.25.*)

2、ssh命令的语法格式

SYNOPSIS
  ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
      [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file]
      [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option]
      [-p port] [-Q query_option] [-R address] [-S ctl_path] [-W host:port]
      [-w local_tun[:remote_tun]] [user@]hostname [command]

3、ssh命令的选项说明

usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
        [-D [bind_address:]port] [-E log_file] [-e escape_char]
        [-F configfile] [-I pkcs11] [-i identity_file]
        [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
        [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
        [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
        [user@]hostname [command]

4、ssh命令的实践操作

范例1:Xshell 远程登陆主机

ssh root@10.0.0.99 22  -->默认端口就是22,这里演示端口号位置
ssh root@10.0.0.99

范例2:一个主机远程登陆其它主机

ip a|awk -F '[ /]+' '$NF~/eth0/ {print $3}'
ip a|awk -F '[ /]+' '$NF~/eth0/ {print $3}'
ssh 10.0.0.199
ssh -p 22 root@10.0.0.199

范例3:直接执行命令,最好全路径

ssh 10.0.0.199 /bin/ls 
ssh 10.0.0.199 hostname
hostname

范例4:查看已知主机

cat /root/.ssh/known_hosts

范例5:关于后台ssh服务的相关

查询openssl软件

rpm -qa openssh openssl

查询sshd进程和端口

ps -ef | grep ssh

查看ssh端口

netstat -lntup |grep ssh
ss | grep ssh
netstat -a | grep ssh
netstat -lnt | grep 22
netstat -lntup | grep ssh | wc -l  -->只要大于2个就是ssh服务就是好的

查看ssh的秘钥目录

ll /root/.ssh/known_hosts  -->当前用户家目录的.ssh目录下

ssh的配置文件

egrep -v '^$|#' /etc/ssh/sshd_config

范例6:免秘钥登陆,登录的时候不用使用密码

生成密钥对

ssh-keygen  -->-->连续回车
ssh-keygen -t dsa  -->也可指定验证方式,使用-t参数

Your identification has been saved in /root/.ssh/id_rsa.  -->私钥位置
Your public key has been saved in /root/.ssh/id_rsa.pub.  -->公钥位置

RSADSA 加密算法的区别

  • RSA:是一种加密算法(PS:RSA也可以进行数字签名的),它的简写的来由是 Ron RivestAdi ShamirLeonard Adleman 这三个人姓氏的第一个字母连接起来就是RSA。
  • DSA:就是数字签名算法的英文全称的简写,即 Digital Signature Algorithm ,简写就是 DSA
    RSA 既可以进行加密,也可以进行数字签名实现认证,而 DSA 只能用于数字签名从而实现认证。

也可以免交互快速生成密钥对

ssh-keygen --help  -->查看用法
mv /root/.ssh/* /tmp  -->将之前产生的密钥对移走
ssh-keygen -t rsa -f /root/.ssh/id_rsa  -P "" -q  -->免交互产生密钥对
ls /root/.ssh

拷贝密钥中的公钥文件到目标主机上

ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.0.199  -->输入yes和目标主机root密码
scp -rp ~/.ssh/id_rsa.pub 10.0.0.199:~/.ssh/authorized_keys  -->也可以使用scp命令
ls -ld ~/.ssh/   -->特别注意权限700
ls -l ~/.ssh/   -->特别注意权限600

也可免交互拷贝公钥

rpm -qa sshpass
yum -y install sshpass &>/dev/null  -->使用此工具
rpm -qa sshpass
sshpass -p123456 ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.0.199 "-o StrictHostKeyChecking=no"  -->参数-p是可加密码

开始测试是否免秘钥

ssh 10.0.0.199 ifconfig eth0

开发脚本实现批量管理服务器简单思路

cat >cmd.sh <<'EOF'
for n in 199
do
 echo "=====10.0.0.$n======"
 ssh 10.0.0.$n "$1"
done
EOF

sh cmd.sh hostname

『MineGi有话说』:快来扫一扫下面链接的二维码,加入我们吧!

免责声明:文章转载自《shell命令--ssh》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python__函数python basemap画图去除图片的边边,把图片改为透明色下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Zookeeper四字命令

ZooKeeper 支持某些特定的四字命令(The Four Letter Words)与其进行交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令。 ZooKeeper 常用四字命令主要如下: ZooKeeper四字命令 功能描述...

如何在Ubuntu 20.04 Linux操作系统上安装Git

在继续下面的过程来安装Git之前,请确保您的操作系统是Ubuntu 20.04,并且您已经以具有sudo特权的用户身份登录。使用APT软件包管理器安装Git建议的,最简单的将Git安装到Ubuntu系统的方法是使用Ubuntu操作系统默认存储库中的本机软件包管理器(APT)。此过程将使用Ubuntu存储库中可用的版本安装Git,但如果要安装其他任何版本或最...

linux笔记1(创建用户、安装gcc、安装五笔输入法)

linux笔记1(创建用户、安装gcc、安装五笔输入法) linux简说 内核:在计算机启动时载入基本内存,管理一些基本的输入输出,管理一些进程的初始化以及进程之间的调 试。控制硬件的运行。   Shell:系统的命令解释器,用户进程与kernel的桥梁作用 终端模拟器(Terminal Emulator):交互操作系统,并得到提示与反馈。   x...

ssh 免密码设置失败原因总结

先复习一下设置ssh免密码操作的步骤: 进入主目录 cd 生成公钥 ssh-keygen -t rsa -P '' (注:最后是二个单引号,表示不设置密码) 然后分发公钥到目标机器 ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@对方机器IP (注意不要忘记了参数-i) 注:ssh-copy-id -i 是最简单的办法,如果不用这...

sshd服务启动失败问题

 查看/etc/ssh/ssh_host_ed25519_key权限是755,其他用户也有访问权限,修改该文件权限为600后,重启sshd服务成功 启动后,发现/etc/ssh/ssh_host_rsa_key和/etc/ssh/ssh_host_ecdsa_key文件也是755权限,也需要修改为600权限 # systemctl status ssh...

Redis的发布订阅

Redis的发布订阅 序言 发布订阅在设计模式中也可以说是观察者模式,针对这个模式是处理对象间一对多的依赖关系的,当一个对象发生变化,其它依赖他的对象都要得到通知并更新。 然而它也有自己的缺点,就是当主题发生一系列的变化时,观察者都要做批量的更新,如果这样的更新成本很高,那么解决方法就是根据种类需求通知,而不能盲目的通知所有的观察者。 那针对这个缺点,一般...