Ubuntu SSH
服务端配置
-
SSH分客户端openssh-client和openssh-server
如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-get install openssh-client),如果要使本机开放SSH服务就需要安装openssh-server。
-
查看当前的ubuntu是否安装了ssh-server服务。默认只安装ssh-client服务。
dpkg -l | grep ssh
-
安装ssh-server服务
sudo apt-get install openssh-server
再次查看安装的服务:
dpkg -l | grep ssh
然后确认ssh-server是否启动了:
ps -e | grep ssh
如果看到sshd那说明ssh-server已经启动了。
如果没有则可以这样启动:
sudo /etc/init.d/ssh start
或sudo service ssh start
配置相关:
ssh-server配置文件位于/etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。(或把配置文件中的”PermitRootLogin without-password”加一个”#”号,把它注释掉,再增加一句”PermitRootLogin yes”)
然后重启SSH服务:
sudo /etc/init.d/ssh stop
sudo /etc/init.d/ssh start
-
登陆SSH(Linux)
ssh username@192.168.1.103
其中,username为192.168.1.103机器上的用户,需要输入密码。
断开连接:exit
另外,如果安装了ssh服务,windows下可以使用xshell或者putty链接这台ubuntu了(但是每次都得输入用户名和密码,即使xshell可以存储用户名和密码但是登陆速度很慢。所以可以使用公共密钥的登陆方式来提高速度和安全性。
SSH公共密钥免密登录 vscode->ubuntu
-
windows配置
打开windows下的cmd
输入:ssh-keygen -t rsa -b 4096
生成ssh秘钥和公钥,一路回车确定就可以了
默认秘钥密钥id_rsa和公钥id_rsa.pub文件都默认保存在(C:\User\用户/.ssh)文件夹下) -
vscode配置
打开C:\Users\<name>\.ssh\config
文件Host 192.168.81.129 HostName 192.168.81.129 User <name> IdentityFile "C:\Users\<name>\.ssh\id_rsa"
按照上方的格式填写依次填写信息
第1~2行填写IP
第3行填写用户名
第4行填写windows下秘钥所在的位置 -
服务器配置
将windows下的公钥id_rsa.pub的内容拷贝到服务器中的隐藏目录下的authorized_keys
文件中:
/home/.ssh/authorized_keys
切记:不要直接id_rsa.pub的内容将复制粘贴到authorized_keys
中建议采用如下方法:
将文件
id_rsa.pub
拖动或者上传到/home/.ssh
目录下
执行cat id_rsa.pub >> authorized_keys
命令 -
结语
现在关掉所有页面,重新打开vscode,终于可以免密登录服务器了
参考链接:
1. Ubuntu SSH服务端配置:
https://blog.csdn.net/jackghq/article/details/54974141
2. VScode远程ssh免密登录Linux服务器:
https://blog.csdn.net/qq_34927064/article/details/121109349