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

Posted 峰啊疯了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#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)显示与连接和传送有关的调试信息。如果命令运行不太正常的话,这个选项就会非常有用。

#yyds干货盘点#shell如何进行远程ssh_端口号

2.简单的ssh

ssh -p $port $user@$p cmd 

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

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

#yyds干货盘点#shell如何进行远程ssh_后台运行_02

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详解

远程执行的内容在“<< remotessh” 至“ remotessh”之间,在远程机器上的操作就位于其中,注意的点:

  1. << remotessh,ssh后直到遇到remotessh这样的内容结束,remotessh可以随便修改成其他形式。
  2. 重定向目的在于不显示远程的输出了
  3. 在结束前,加exit退出远程节点

一般这种都需要提前做好ssh免密登录

3.2 免密登录

设置免密

ssh-copy-id root@192.168.103.49

#yyds干货盘点#shell如何进行远程ssh_端口号_03

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

ssh-keygen

清除免密

ssh-keygen -R  root@192.168.103.49


以上是关于#yyds干货盘点#shell如何进行远程ssh的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#SSH远程连接介绍

#yyds干货盘点#scp 命令

Rsync+Crond实现定时备份介绍#yyds干货盘点#

Git SSH Key 生成并添加到github/gitee步骤#yyds干货盘点#

#yyds干货盘点#Git学习-如何修改已经提交的记录

#yyds干货盘点#使用私钥登录服务器