#yyds干货盘点#shell如何进行远程ssh

相逢意气为君饮,系马高楼垂柳边。这篇文章主要讲述#yyds干货盘点#shell如何进行远程ssh相关的知识,希望能为你提供帮助。
1.ssh命令详解
1.1使用详解

ssh --help
man 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]

1.2参数解释
-l 指定登入用户
-p 设置端口号
-f 后台运行,并推荐加上 -n 参数
-n 将标准输入重定向到 /dev/null,防止读取标准输入。如果在后台运行ssh的话(-f选项),就需要这个选项。
-N 不执行远程命令,只做端口转发
-q 安静模式,忽略一切对话和错误提示
-T 禁用伪终端配置
-t (tty)为远程系统上的ssh进程分配一个伪tty(终端)。如果没有使用这个选项,当你在远程系统上运行某条命令的时候,ssh不会为该进程分配tty(终端)。相反,ssh将会把远端进程的标准输入和标准输出附加到ssh会话上去,这通常就是你所希望的(但并非总是如此)。这个选项将强制ssh在远端系统上分配tty,这样那些需要tty的程序就能够正常运行。
-v verbose)显示与连接和传送有关的调试信息。如果命令运行不太正常的话,这个选项就会非常有用。


2.简单的ssh
ssh -p $port $user@$p cmd

$port : ssh连接端口号
$user: ssh连接用户名
$ip:ssh连接的ip地址
cmd:远程服务器需要执行的操作

对于这种ssh,命令一般只有一条,如要手动鉴权,输入密钥,端口默认22

3.复杂的ssh
SHELL=`ssh root@192.168.33.25 < < remotessh
cd /home
rm -rf token.txt
touch token.txt
cd /home/1.8/keadm-v1.8.0-linux-amd64/keadm
./keadm gettoken > > /home/token.txt
cat /home/token.txt
exit
remotessh `
echo -e "========================打印token======================\\n"
echo $SHELL

3.1  shell详解【#yyds干货盘点#shell如何进行远程ssh】远程执行的内容在“< < remotessh” 至“ remotessh”之间,在远程机器上的操作就位于其中,注意的点:
  1. < < remotessh,ssh后直到遇到remotessh这样的内容结束,remotessh可以随便修改成其他形式。
  2. 重定向目的在于不显示远程的输出了
  3. 在结束前,加exit退出远程节点
一般这种都需要提前做好ssh免密登录
3.2  免密登录设置免密
ssh-copy-id root@192.168.103.49


如果/root/.ssh/id_rsa下密钥key失效需要重新生成
ssh-keygen

清除免密
ssh-keygen -Rroot@192.168.103.49




    推荐阅读