Ubuntu16.04 Linux 下安装、配置SSH
本人在Win7+VMware下利用两个ubuntu虚拟机安装、配置、测试了SSH。
- 在Server端安装openssh-server。
sudo apt-get install ssh # 安装ssh client+server
sudo /etc/init.d/ssh start # restart/stop/ ... etc.
ps -e | grep ssh # 如果已安装且启动,应该会有sshd字样如下 - 在Client端生成rsa秘钥(一般默认已安装ssh-keygen),输入如下命令,注意:文件名要用绝对路径(可以默认),passphrase是使用秘钥登陆的时候用的密码(可以为空)。
ssh-keygen -t rsa # Do NOT has to use sudo
- 把Client中生成的公钥(默认在~/.ssh/id_rsa.pub中)复制到Server的~/.ssh/authorized_keys中。
- 在Client中运行如下命令 即可用ssh登陆Server。如果生成秘钥的时候设置了passphrase,则需要输入passphrase,若没有设置passphrase,则可以免密码登陆。
ssh server_user_name@server_ip_address
使用ssh和rsync时,经常出现如下提示,虽然手动确认也没问题,但是自动运行脚本这样处理还是不方便。
The authenticity of host '192.168.001.104 (192.168.1.104)' can't be established. ECDSA key fingerprint is SHA256:jXxNdcC0PuatAlclGKotnncl7zOe87NsoGyp5pbxq1c. Are you sure you want to continue connecting (yes/no)? Thu Oct 31 23:48:09 CST 2019# 192.168.001.104 upload fail
解决办法:
sudo echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config
自动输入密码:
# 安装需要的库 sudo apt-get install sshpass # 免密码登陆使用ssh sshpass -p password ssh username@192.168.11.11 "ethtool eth0"