1. linux系统下登陆远程服务器最安全的方式还是用免密码登录
2. 原理
通过公钥加密,私钥解密去实现的。
用户机子存的是私钥,远程机子存的是对应的公钥。
远程机子通过公钥加密“一段文字”给用户机子。
用户机子通过私钥去解密,并得到“这段文字”,然后以明文形式发送给远程机子。
远程机子验证接收到的文字信息是否和给出的文字信息一致,一致就确定用户可信,用户即为真实用户。
实现1
首先通过ssh登录远程机子,这里命名为DEV机子。(ssh yansong@dev,然后输入密码登入)
cd ~ && cd .ssh // 进入个人环境,并尝试进入.ssh目录
如果.ssh目录不存在,则创建它(mkdir .ssh)
ls // 查看.ssh目录下是否存在id_rsa, id_rsa.pub两个文件。
如果不存在上面两个文件,则创建她们(输入:ssh-keygen -t rsa,然后回车,回车即可)
cat id_rsa.pub >> authorized_keys // 拷贝公钥到存放验证key文件的地方
chmod 600 authoried_keys // rw——-
scp yansong@dev:.ssh/id_rsa* ~/.ssh // 拷贝id_rsa, id_rsa.pub这两个到自己本机对应的~/.ssh目录
实现2
使用明文密码的方式。
先要安装 sshpass
sudo apt-get install sshpass
然后使用
sshpass -p ‘密码’ ssh 远程机用户名@远程机器ip -C