我的环境:
parrot:用户名:chen,ip:192.168.149.132
ubuntu:用户名:yichen,ip:192.168.149.138

image.png
image.png

ssh 安装

一般都自带了
sudo apt-get install openssh-client
sudo apt-get install openssh-server

开启服务

sudo /etc/init.d/ssh start

相关:
sudo /etc/init.d/ssh stop server 停止 ssh 服务 **
sudo /etc/init.d/ssh restart **server 重启 ssh 服务

密码连接

ssh chen@192.168.149.132 默认端口:22
如果需要指定端口可以使用:ssh -p 9527 chen@192.168.149.132

第一次连接会出现:
意思是,该远程主机的真实性无法确定,其公钥指纹为 cxt65U8MP/XOzyxCsBSR7/kwxvsYmOl/Hgr/Mjs0FZ4,确定想要继续连接吗?

image.png
image.png

输入:yes 继续,同意之后远程主机的公钥会保存在 $HOME/.ssh/known_hosts 中,当下次连接的时候就可以直接跳过确认部分,直接输入密码
再输入想要链接的主机的 password

image.png
image.png

连接成功,可以操作了

image.png
image.png

密钥连接

每次输入密码很麻烦,所以可以使用公钥登录,用户将自己的公钥存储在远程主机上面,登陆的时候远程主机会向用户发送一段随机字符串,用户用私钥加密之后再将加密后的发送给主机,如果主机能够用公钥解密成功则可以连接

使用 ssh-keygen 生成公钥和私钥,第一次要求输入的是生成在什么地方,默认:/root/.ssh/ 目录下生成 id_rsa.pub 和 id_rsa,分别是公钥和私钥,输入想要给的名字的话会在当前目录生成输入的名字
第二次和第三次等待输入的时候设置的是密钥的密码,可以直接回车就没有密码了,有密码双重保险

image.png
image.png

生成的

image.png
image.png

默认情况下运行结束以后在 $HOME/.ssh 目录下面会生成两个新文件:id_rsa.pub 和 id_rsa,分别是公钥和私钥

使用 ssh-copy-id user@host 就可以把公钥发送到 host 主机,这样就可以使用密钥登陆了,连接的时候就不用输入密码了

如果还是不行,就打开远程主机的/etc/ssh/sshd_config 这个文件,检查下面几行前面”#”注释是否取掉,改完重启 ssh 服务

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys