
正文
ssh 管理 linux登录远程服务器
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
使用 ssh 免秘登录方式
(还可以使用 ssh-agent 缓存密码)
客户端:
1. 生成公钥和私钥
ssh-keygen
一般不需要对私钥设置口令(passphrase),如果担心私钥的安全,这里可以设置一个。
运行结束以后,在$HOME/.ssh/目录下,会新生成两个文件:id_rsa.pub和id_rsa
2.将公钥传送到远程主机 host上面
ssh-copy-id user@host -p port
附:复制到剪切板,可以粘贴到 github 的方法
$ sudo apt-get install xclip
# Downloads and installs xclip. If you don't have `apt-get`, you might need to use another installer (like `yum`) $ xclip -sel clip < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard
3.配置 ssh 连接信息
vim $HOME/.ssh/config
写入相关参数
Host demohost
HostName 198.93.47.225
User root
Port 2782
IdentityFile ~/.ssh/id_rsa
编辑该文件权限
chmod 600 $HOME/.ssh/config
4.就 ssh信息添加到代理中
ssh-add
5.登录
ssh demohost
6.利用 scp传输文件
scp -P /home/lg/Documents/Project/PycharmProjects/GroupBot/abc.ini root@182.93.57.215:/root
7.sftp 传输文件
$ sftp demohost
sftp> get Documents/1.txt /home/lg/Documents/
ssh 原理
1.生成一对公钥与私钥对(可以在客户端直接生成,也可以在其它地方生成)
ssh-keygen
2,客户端配置该私钥存放路径
Host book
HostName 139.97.102.212
User root
Port 22
IdentityFile ~/.ssh/book_solr.pem
3.服务器配置该公钥的内容保存到 ~/.ssh/authorized_keys 文件中
ssh-copy-id user@host -p port
4.前三步配置好了之后,客户端向服务器第一次发请求,会返回服务端的公钥并要求你确定。确定后,客户端拿到该公钥并保存到 know_hosts 中(可设置 StrictHostKeyChecking=no,会自动添加,不必手动确认)。
5.安全保证
公钥的两层作用(加密与验签)
数据加密:客户端向服务器发送信息(使用服务端公钥加密);服务器向客户端发送信息(使用客户端公钥加密的)。
验证签名:客户端使用私钥加密签名信息,服务端通过 authorized_keys 中的公钥解密并验签确保客户端来源的安全。
通过腾讯云工具生成一对公私钥,将私钥保存到客户端,公钥保存在服务器,登录时将加密消息通过私钥签名,腾讯云通过列表中的公钥验证签名正确,开始解密你的消息。
这里最重要的是签名,即便数据没有加密,只要你签名不对,你也是无法操作服务器的。







