Neo Anderson's Blog

Linux基础命令-Ssh

字数统计: 250阅读时长: 1 min
2015/10/16
loading

以下命令均在MAC执行产出.

  • 比较服务端和本地端文件
1
ssh name@server cat /serverpath/filename | diff /localpath/filename - 
  • ssh免密登录远程服务器
1
2
3
4
5
#方法1:本地操作
ssh-copy-id username@serverhost
#方法2:
cat ~/.ssh/id_rsa.pub | ssh user@serverhost “mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys”

  • 本地通过ssh运行远程shell命令(shell执行的命令需要username有相关权限)
1
ssh serverhost -l username $(<cmd.txt)
  • 通过sshfs 挂载远程目录
1
2
brew install sshfs
sshfs xxx@192.168.2.2:/home/xxx/www /var/www/demo -C -o reconnect
  • ssh打个隧道,跨机器建立链接
1
2
ssh -t reachable_host ssh unreachable_host

  • ssh 服务端变更,清除所有已知的keys
1
ssh-keygen -R hostname
  • ssh 实现类似window下的session copy
1
2
3
4
5
6
7
创建到目标主机的持久化连接
ssh -MNf <user>@<host>
在后台创建到目标主机的持久化连接,将这个命令和你~/.ssh/config中的配置结合使用:
Host *
ControlPersist yes
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p
CATALOG
  1. 1. 比较服务端和本地端文件
  2. 2. ssh免密登录远程服务器
  3. 3. 本地通过ssh运行远程shell命令(shell执行的命令需要username有相关权限)
  4. 4. 通过sshfs 挂载远程目录
  5. 5. ssh打个隧道,跨机器建立链接
  6. 6. ssh 服务端变更,清除所有已知的keys
  7. 7. ssh 实现类似window下的session copy