Linux系统SSH命令

1. 什么是SSH

  • SSH是一种网络协议,用于计算机之间的加密登录。
  • 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。
  • 1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。

2. SSH为什么能保证安全

SSH通讯的过程:

  1. 远程主机收到用户的登录请求,把自己的公钥发给用户。
  2. 用户使用这个公钥,将登录密码加密后,发送回来。
  3. 远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。

3. 安装SSH

以Ubuntu为例:

sudo apt-get install sshd 

sudo apt-get install openssh-server

4. 开启SSH服务

service sshd start

5. 卸载SSH服务

sudo apt-get –purge remove sshd

6. 使用SSH登录远程主机

ssh username#remote_host_ip

举例:ssh [email protected]
  • 登录成功以后,会保存一组数据在文件$HOME/.ssh/known_hosts之中。下次再连接这台远程主机,系统就会认出它的公钥已经存储在本地,从而跳过警告部分,直接登录或提示输入密码。

  • 有时候因为某些原因,登录IP地址相同的不同主机,SSH会报错,登录失败。这时候,删除known_hosts中的内容就行了。

  • 将公钥发送到远程主机,私钥保存在本地,可以避免每次都输入密码

7. 使用SSH传输文件

7.1 scp指令

  • 将远程文件拷贝到本地
//文件
scp username@ip_address:/home/username/filename .

//目录
scp -r username@ip_address:/home/username/dirname .
  • 将本地文件拷贝到远程
//文件
scp filename username@ip_address:/home/username

//目录
scp -r dirname username@ip_address:/home/username

7.2 rsync指令

  • scp已经过时了,现在使用rsync。
  • 使用方法与scp一样

你可能感兴趣的:(Linux,linux,ssh,运维)