一、使用 expect 登陆。
-
Iterm2 配置
-
配置 expct 脚本
#!/usr/bin/expect -f
set port 22
set user lzq
set host 192.168.178.101
set password 123456
set timeout 30
spawn ssh -p $port $user@$host
expect "*assword:*"
send "$password\r"
interact
expect eof
- 遇到的问题
Mac iterm2 使用expect后无法使用lrzsz 指令,上传不报错,文件也没有
解决方法
二、使用公钥免密登陆
- 生成秘钥
ssh-keygen
上面这个命令会在用户目录. ssh 文件夹下创建公私钥
cd ~/.ssh
ls
下创建两个密钥:
id_rsa (私钥)
id_rsa.pub (公钥)
- 将公钥放到 服务器上
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.178.101
上面这条命令是写到服务器上的 ssh 目录下去了
cd ~/.ssh
vim authorized_keys
可以看到客户端写入到服务器的 id_rsa.pub (公钥)内容。
3.测试免密登录
客户端通过 ssh 连接远程服务器,就可以免密登录了。
ssh root@192.168.178.101
- 配置 Iterm2