Neo Anderson's Blog

Linux基础命令-Ssh

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

以下命令均在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