SSH 详解

SSH(Secure Shell)是一个远程登录和远程执行命令工具。SSH协议目前有SSH1和SSH2两种,实现SSH协议的主要有OpenSSH和SSH Communication Security Corporation。OpenSSH包含了一下命令:

  • sshd:SSH服务端程序
  • sftp-server:SFTP服务端程序(类似FTP但提供数据加密的一种协议)
  • slogin:SSH的别名
  • ssh:SSH协议的客户端程序,用来登入远程系统或远程执行命令
  • ssh-add:SSH代理相关程序,用来向SSH代理添加key
  • ssh-agent:SSH代理程序,如果给private key加了密码,加入agent后可以在terminal session中首次输入密码即可。
  • ssh-keygen:SSH key 生成器
  • scp:非交互式sftp-server的客户端,用来向服务器上传/下载文件
  • sftp:交互式sftp-server客户端,用法和ftp命令一样
首次登录时,SSH会把主机指纹存入know_hosts文件中,如果该主机重装系统,ssh指纹改变,则需要删除对应的指纹。.ssh目录权限必须是700,并且用户的home目录不能给其他用户写权限。如果发生不能登录的问题,查看服务器上的日志/var/log/secure。在/etc/ssh/ssh_config是SSH客户端的配置文件,/etc/ssh/sshd_config是SSH服务端的配置文件。
服务器的authorized_keys文件中存放着授权客户端的public key。客户端向该文件添加public key有以下另种方法:
ssh-copy-id username@remote_host
cat .ssh/id_rsa.pub | ssh username@remote_host "cat >> .ssh/authorized_keys"
服务器添加授权public key:
echo public_key_string >> ~/.ssh/authorized_keys
在ssh命令后跟其他bash命令是执行远程服务器的命令,相当于登入服务器,执行命令,然后登出服务器。
ssh host 命令
重启多台服务器:
for i in $(seq 1 254) ; do  ssh 10.0.0.${i} reboot ; done

对/.ssh/config文件做配置,可以将不同host用不同key登录:

Host SERVERNAME1
  IdentitiesOnly yes
  IdentityFile ~/.ssh/id_rsa_SERVER1
  # CheckHostIP yes
  # Port 22
Host SERVERNAME2
  IdentitiesOnly yes
  IdentityFile ~/.ssh/id_rsa_SERVER2
  # CheckHostIP no
  # Port 2177
ControlMaster auto
ControlPath /tmp/%r@%h:%p
别名登录参见
通用资料

详细资料

DSA key 使用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值