linux ssh原理

介绍

ssh分为客户端(client)和服务端(server),在客户端会生成 id_rsa(私钥)和公钥(id_rsa.pub)

  1. 客户端将私钥发给服务端
  2. 客户端使用私钥将密码加密,并发送给服务端
  3. 服务端用公钥解密登录密码

ssh免密登录原理:
1, node1 使用 ssh-keygen –t rsa 生成公钥和私钥
2,ssh-copy-id root@node2 将公钥拷贝到node2上,实际上是把公钥内容追加到 authorized_keys文件中。
请求时:
1,node1向node2发送连接请求时,附带主机,ip地址等信息
3, node2收到请求后,去授权文件里查找node1的公钥,找到之后,随机生成一个字符串,并用公钥加密,并发送给node1
4, node1接收到密文之后,用私钥解密,并把解密结果返回给node2
5, node2拿到解密结果之后,与之前的字符串进行比较,如果相同,则可以登录成功。

安装与配置

  1. 安装客户端(ubuntu已经默认安装)
    sudo apt-get install openssh-client
  2. 安装服务端
    apt-get install openssh-server
  3. 配置文件
    sudo gedit /etc/ssh/sshd_config

openssh
在主机中开启了openssh服务,那么就对外开放了远程连接的接口
openssh的服务端:sshd
openssh的客户端:ssh
ssh————————————>sshd
client      server
ssh
ssh= secure shell
可以让远程主机通过网络访问sshd服务,开始一个安全shell,并对其进行操控
sshd
可以通过网络在主机中开启shell的服务

启动和关闭ssh

  1. sudo service ssh start
  2. sudo /etc/init.d/ssh restart
  3. sudo service ssh stop

连接和断开服务端

  1. ssh usr@hostname
    usr 是服务端的用户名,如果客户端和服务端客户名称相同,则不需要指定
    ssh -p 2222 user@host 可以指定端口
    hostname 可以是客户端ip地址,也可以是客户端主机名
  2. exit

设置公钥和私钥(生成免密的登录)

免密登录是单向的.

  1. ssh-keygen -t rsa
    在客户端生成公钥和私钥
  2. ssh-copy-id user@host
    将公钥上传到服务端
    本质上是将客户端的~/.ssh/id_rsa.pub公钥的内容添加到服务器的~/.ssh/authorized_keys
ssh-keygen -f id_dsa -p
改变私钥的密码
ssh-keygen -f "~/.ssh/known_hosts" -R 192.168.1.254  

scp

secure cp(安全的copy)
注意是在客户端输入命令,而不是登录服务端输入命令
远程主机要带ip地址
scp /dir/file user@ip:/dir/file 复制本地文件到服务器
scp user@ip:/dir/file /dir/file 复制服务器文件到本地
如果是客服端有的文件夹(路径相同),则无需再服务端创建文件夹,如果没有则会报错

-r 递归复制
-f 强制复制
-v 显示进度

配置远程 root登录

PermitRootLogin without-password -> PermitRootLogin yes

sudo service ssh restart

参考:
https://www.cnblogs.com/xishuai/p/7458191.html
permission denied for root@localhost for ssh connection

参考文献:
http://www.jb51.net/os/Ubuntu/161353.html
http://blog.csdn.net/zht666/article/details/9340633
http://www.jb51.net/os/Ubuntu/161384.html 配置详解
http://blog.csdn.net/pipisorry/article/details/52269785 公钥和私钥配置
http://os.51cto.com/art/201304/390042.htm ssh常用命令
https://www.cyberciti.biz/faq/howto-ssh-changing-passphrase/
http://www.cnblogs.com/longjshz/p/5773679.html
https://blog.csdn.net/qq_42036824/article/details/82943088

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值